Когда разрабатываете свой GUI с помощью PyQt для какого-либо софта бывает необходимо позаимствовать цвета из текущего стиля интерфейса. Например, чтобы правильно раскрасить свои виджеты, подогнав их по цвету. Ведь бывает, что ваш GUI используется в разных софтах. Причём некоторые со светлой темой а другие с тёмной.
По умолчанию стили наследуются, но если вы задаёте какую-либо раскраску для части виджета через свой styleSheet, то требуется ссылаться на цвета текущего стиля.
Как это сделать? Как получить нужный цвет из палитры имеющегося стиля? Это достаточно просто, нужно использовать класс QPalette и его роли.
Например, мне нужно достать цвет текста из одного виджета и применить его в другом как цвет фона (не важно зачем именно так, просто захотелось😊).
Получаем палитру виджета и сразу достаём нужный цвет, указав его роль.
from PySide2.QtGui import QPalette
color = main_window.palette().color(QPalette.Text)
теперь можем использовать этот цвет в стилях
my_widget.setStyleSheet(f'background-color: {color.name()};')
Готово, мы динамически переопределили дефолтный стиль используя текущий стиль окна!
На самом деле есть запись покороче, в одну строку и без лишних переменных. Не очень-то по правилам CSS, но Qt это понимает.
my_widget.setStyleSheet('background-color: palette(Text);')
Этот способ не подходит если вам нужно как-то модифицировать цвет перед применением в своих стилях. В этом случае потребуется первый способ.
Зато он прекрасно сработает в файле .qss, то есть не придётся в коде прописывать раскраску отдельных элементов через ссылки на палитру, всё красиво сохранится в отдельном файле .qss!
QListView#my_widget::item:selected {
background: palette(Midlight);
}
Про имеющиеся роли можно почитать здесь🌍
#qt#tricks
📱X8 seriyasiga yana ikki model qo‘shildi — OPPO Find X8s va Find X8s+
ℹ️ Bu modellarning har ikkalasi OPPO taqdim etgan flagman Find X8 Ultra’ning soddalashtirilgan versiyalari hisoblanadi. Ekranlar kichikroq, chipset va kameralar kamroq quvvatli, lekin dizayn flagman bilan bir xil.
⚙️ Qizig‘i shundaki, Find X8s va Find X8s+’ning ekran diagonali va kamera periskoplari farqli bo‘lsa-da, xotira hajmi bir xil bo‘lgan versiyalarining narxi aynan bir xil. Bu holat xaridorlarga narxdan qat’i nazar, o‘lchamga qarab tanlash imkonini beradi.
📱 Displeylar:
X8s: 6,32", 2640×1216, AMOLED, 120 Hz
X8s+: 6,59", 2760×1256, AMOLED, 120 Hz
👩💻 Chipset: MediaTek Dimensity 9400+
📸 Kameralar:
X8s: 50 MP (f/2.0) + 50 MP periskop (f/2.8, 3.5x) + 32 MP selfi
X8s+: 50 MP (f/2.0) + 50 MP periskop (f/2.6, 3x) + 32 MP selfi
💾 Xotira variantlari:
X8s: 12+256, 12+512, 16+256, 16+512, 16+1024 GB
X8s+: 12+256, 12+512, 16+512, 16+1024 GB
📡 Aloqa: 5G, NFC, Wi-Fi 7, Bluetooth 5.4 LE
🔐 Biometriya: ekran osti barmoq izi skaneri, yuzni aniqlash
💧 Suvga chidamlilik: IP68 / IP69
🔋 Batareya va zaryadlash:
X8s: 5700 mAh, 80W simli, 50W simsiz, 10W teskari zaryad
X8s+: 6000 mAh, 80W simli, 50W simsiz, 10W teskari zaryad
💰 Boshlang‘ich narx: $574
➡️#oppo | Birinchi raqamli IT-Blog
📱📱 Find N5: Buklama smartfonlarning yangi avlodi
🚀 OPPO Find N5 2025-yil 20-fevralda taqdim etiladi va u dunyodagi eng ingichka buklama smartfon bo‘lishi kutilmoqda.
⚙️ Asosiy xususiyatlari:
📱 8,12 dyuymli ichki ekran
⚡️ Snapdragon 8 Elite protsessori
💾 16 GB operativ va 512 GB ichki xotira
🔋 5 600 mA·soat batareya, 80 W tezkor zaryad va 50 W simsiz zaryadlash
📸 50 MP asosiy kamera, keng burchakli va telefoto linzalari
🤖 Qurilmaga DeepSeek-R1 sun'iy intellekt modeli integratsiyalangan, bu esa qidiruv va tasvir yaratish imkoniyatlarini yanada yaxshilaydi.
🎨 Ranglar: Cosmic Black va Misty White
⌚️ Taqdimotda, shuningdek, OPPO Watch X2 aqlli soati ham namoyish etiladi.
➡️#oppo | Birinchi raqamli IT-Blog
📱 OPPO Reno 13 va Reno 13 Pro: Yangi imkoniyatlar bilan taqdim etildi
ℹ️ Reno 13 6,59 dyuymli, Pro modeli esa 6,83 dyuymli AMOLED ekran bilan ta’minlangan. Har ikkisi ham 120 Hz yangilanish chastotasini qo‘llab-quvvatlaydi. Ikkala qurilmada ham Dimensity 8350 protsessori o‘rnatilgan.
📸 Reno 13 50 MP asosiy, 8 MP keng burchakli va 50 MP selfi kameraga ega. Reno 13 Pro esa IMX890 asosiy kamera, 8 MP keng burchakli, 50 MP periskop va 50 MP selfi kamerasi bilan jihozlangan.
💾 12+256 GB dan 16+1024 GB gacha variantlari mavjud.
🔋 Reno 13 5600 mA·soat quvvatga ega bo‘lib, 80 W tez quvvatlanish bilan keladi. Pro modeli esa 5800 mA·soat, simli va 50 W simsiz quvvatlanish imkoniyatiga ega.
💧 Qurilmalar IP68/IP69 suv va changdan himoya sertifikatiga ega.
💵 Reno 13 373 dollardan, Reno 13 Pro esa 469 dollardan boshlanadi. Smartfonlar o‘rtacha narx segmentida yuqori sifatni ta’minlaydi.
➡️#oppo | Birinchi raqamli IT-Blog