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

Резултати

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

Пребарај: #v2fun

当前筛选 #v2fun清除筛选

🔖V2EX 第三方客户端合集 | V2er & V2Fun V2EX 作为一个技术社区,至今没有官方 App,想要移动端的良好体验就只能依赖第三方客户端。这里推荐两款高颜值、体验顺滑的选择,支持 iOS/Android 平台,并带有 夜间模式、简洁交互设计,让刷 V2EX 更舒适 🧰V2er: 🔘2017 年上线的 第三方 V2EX 客户端,界面简洁,交互轻量,适合只想安静刷社区内容的用户 🏬iOS · 🖥Android 🌐官网 · 🐙Github 🧰V2Fun: 🔘一款原生客户端,主打好看+夜间模式,适合喜欢视觉体验和长时间使用的用户 🏬iOS · 🖥Android · 🐙Github 标签:#V2EX客户端#v2ex#V2er#V2Fun 🔗发【关键词】搜索资源: @xiuerSearch 📮频道 | 🪧群聊 | ✨中文包