TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #62 · 4 апр.

Когда разрабатываете свой 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

Hashtags

Резултати

Пронајдени 2 слични објави

Пребарај: #digitalbridge2022

当前筛选 #digitalbridge2022清除筛选
AloqaVentures

@AloqaVentures · Post #54 · 03.10.2022 г., 11:38

AloqaVentures принял участие в международном форуме Digital Bridge 2022, который прошел в Астане 28-29 сентября с участием мировых IT-компаний, международных экспертов из сферы ІТ-инноваций. Форум объединил на своей площадке почти 25 тысяч участников, 300 IT-компаний, 150 венчурных инвесторов и бизнес-ангелов, свыше 300 спикеров и 100 стартапов из 15 стран мира. Наш фонд активно вел стратегические переговоры с другими венчурными фондами о совместных инвестициях в инновационные стартап-проекты. AloqaVentures открыт для всех, кто планирует войти на рынок Узбекистана. #venturecapital#digitalbridge2022#Uzbekistan

AloqaVentures

@AloqaVentures · Post #53 · 03.10.2022 г., 11:38

AloqaVentures 28-29 sentabr kunlari Ostona shahrida jahon kompaniyalari rahbarlari, IT-innovatsiyalar sohasidagi eng yaxshi xalqaro ekspertlar ishtirokida raqamli texnologiyalar va biznes bo‘yicha Digital Bridge 2022 xalqaro forumida ishtirok etdi. Forumda dunyoning 15 mamlakatidan 25 mingga yaqin ishtirokchi, 300 IT-kompaniya, 150 venchur investor va "biznes-angel "300 dan ortiq maʼruzachilar va 100 dan ortiq startaplar jamlandi. Jamg'armamiz innovatsion startap loyihalariga qo'shma investitsiyalar kiritish bo'yicha boshqa venchur fondlar bilan faol strategik muzokaralar olib bordi. Shuningdek, fondimiz O‘zbekiston bozoriga kirishni rejalashtirgan barcha startap egalari uchun ochiq. #venturecapital#digitalbridge2022#Uzbekistan