SuperAPI AI 工具集

pyqt-styling

通用与其它

查看项目

更新于 10-15 20:13

技能介绍

用途:指导用 QSS(Qt Style Sheets)为 PyQt/PySide6 控件编写样式,重点处理 QSS 与 CSS 差异导致的跨平台问题。

主要能力:说明 QSS 不支持或行为不同的选择器,如不支持 ::before/::after、后代选择器、类选择器与兄弟选择器;Qt 会静默忽略 box-shadow、text-shadow、filter、transform、position 绝对定位、display:flex/grid 等属性;并提示 border-radius 不会裁剪子控件,需用 setMask 或自定义 paintEvent。

使用方式:全局样式用 app.setStyleSheet(),也可从 .qss 文件读取;单控件用 widget.setStyleSheet()。通过 setProperty() 定义自定义属性,配合 style().unpolish()/polish() 刷新样式,或用 QPalette 做调色板主题。控件专属样式覆盖 QPushButton、QLineEdit、QComboBox(含 ::drop-down、QAbstractItemView)、QTabWidget/QTabBar、QScrollBar 的常用写法。

适用场景:需要统一界面外观、实现深浅主题、修复样式跨平台不一致时。

限制:同一份 QSS 在 Windows、macOS、Linux 渲染不同,字体、内边距、行高需显式指定;原生外观可能忽略 QSS,可设置 WA_StyleSheet;高 DPI 需设置 PassThrough 策略。渐变、阴影、动画或需逐像素控制、大量控件性能差时,应改用自定义 paintEvent 或 delegate。缺失信息:未提供具体版本要求、授权方式与收费情况。