pyqt :QSS介绍、使用

qss:用来自定义外观的一种机制

描述

可以将其类比为css样式,但是没有css强大

  • 选择器少
  • 属性少
  • 有些属性仅仅适用于部分控件

使用

🐖 :生成一个.qss文件,专门用来撰写样式表

🐖 :生成一个tool.py文件,封装一个工具,专门用来使用样式表

# 封装修改样式工具
# 定义一个专门用来操作qss样式的类
class QSSTool():
 # 静态方法
 @staticmethod
 def setQssToObj(file_path,obj):
     with open(file_path, 'r') as f:
         content = f.read()
         obj.setStyleSheet(content)

🐖 :可以直接在函数运行最开始使用app.setstylesheet()方法

 win = QssUse()
 win.show()

 # 设置样式
 from tool import QSSTool
 QSSTool.setQssToObj('test.qss',app)

 sys.exit(app.exec_())

Qss组成

组成

🐓:选择器:筛选控件,指明哪些控件受到样式的作用

🐖:通配符选择器

* ---匹配所有的控件

*{
background-color:yellow;
border:6px dotted red;
}

🐖:类型选择器

通过控件类型来匹配控件(包含子类)

QPushButton{
background-color:yellow;
border:6px dotted red;
}

🐖:类选择器

通过控件类型来匹配控件(不包括子类)

.QPushButton{
 ...
}
# 只匹配所有QPushButton控件,不包含子类

🐖:ID选择器

通过ObjectName来匹配控件

QWidget#title_widget{
 ...
}

🐖:属性选择器

通过property来匹配控件

# 给控件设置属性
setProperty("notice_level",'xxx')
#设置样式
.QLabel[notice_level]{...}
.QLabel[notice_level='worning']{image:url(xxx);}
.QLabel[notice_level='error']{image:url(xxx);}

🐖:后代选择器

通过父控件(直接或间接)子控件来筛选控件


🐖:子选择器

通过父控件的“直接”控件来筛选控件----父控件>子控件

# 
QWidget#box2>QLabel{...}

🐖:子控件选择器

用来筛选一个复合控件上的子控件----复合控件::子控件

🐖:注意

以上选择器可以组合使用,使用逗号隔开即可

🐓:伪状态:控制控件在不通状态下显示不同状态

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zIiYPdn4-1640325699198)(…/resuorce/image-20210905192435178.png)]

🐓:申明:指明具体样式

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: PyQt 是一个跨平台的 Python GUI 工具包,可以帮助开发者使用 Qt 库创建 GUI 应用程序。Qt Style Sheets(简称 QSS)是 Qt 提供的一种样式表语言,可以用来定义窗口界面的外观样式。 要在 PyQt 程序中使用 QSS 显示箭头,你可以使用以下代码: ``` from PyQt5.QtWidgets import QApplication, QWidget app = QApplication([]) window = QWidget() # 定义 QSS 样式 style = """ QWidget { border: 1px solid red; } QWidget::down-arrow { image: url(down_arrow.png); } """ # 应用 QSS 样式 app.setStyleSheet(style) window.show() app.exec_() ``` 这段代码会创建一个窗口,并给它设置一个红色的边框。此外,还使用QSS 的 `down-arrow` 伪类来设置窗口的箭头图标,图标的图片来源于 `down_arrow.png` 文件。 希望这个答案对你有帮助。 ### 回答2: 在PyQt使用QSSQt样式表)来显示箭头,可以通过定义一个自定义的样式来实现。 首先,需要在QSS中定义一个样式类,用于指定箭头的样式属性。比如,设置箭头按钮的背景颜色和箭头图标: ``` .arrowButton { background-color: red; image: url('arrow.png'); } ``` 在PyQt代码中,使用这个样式类来应用样式到对应的箭头按钮。首先,需要设置按钮的样式类名称: ```python arrow_button.setProperty('class', 'arrowButton') ``` 然后,将样式表应用到整个应用程序: ```python qApp.setStyleSheet(open('style.qss').read()) ``` 完整代码示例如下: ```python from PyQt5.QtWidgets import QApplication, QPushButton import sys if __name__ == '__main__': app = QApplication(sys.argv) arrow_button = QPushButton('Arrow') arrow_button.setProperty('class', 'arrowButton') qApp.setStyleSheet(open('style.qss').read()) arrow_button.show() sys.exit(app.exec_()) ``` 确保将自定义的样式表保存为style.qss文件,并将箭头图像(如arrow.png)放置在与代码文件相同的目录中。 当程序运行时,箭头按钮将会显示为红色背景并带有指定的箭头图标。 ### 回答3: 在PyQt中,可以使用QSSQt Style Sheets)来自定义控件的样式,从而实现显示箭头的效果。 首先,我们需要创建一个QSS样式表文件,例如arrow.qss。在该文件中,可以使用箭头图像的路径来设置按钮的背景图片,使其显示为箭头。 然后,在PyQt程序中,将该QSS文件应用到对应的控件上,即可实现箭头的显示效果。可以通过setStyleSheet()方法来设置QSS样式表,例如: ```python from PyQt5.QtWidgets import QApplication, QPushButton import sys app = QApplication(sys.argv) button = QPushButton("按钮") button.setStyleSheet("QPushButton { background-image: url(arrow.png); }") button.show() sys.exit(app.exec_()) ``` 在上述例子中,我们创建了一个QPushButton按钮,并通过setStyleSheet()方法将QSS样式表应用到按钮上。样式表中的属性设置了按钮的背景图片为arrow.png,该图片会显示为箭头。 注意,这里的arrow.png是相对于Python程序运行的路径的一个图片文件,可以根据实际情况进行更改。 总之,通过使用QSS样式表,在PyQt中可以很方便地显示箭头效果。只需设置控件的样式表,指定箭头图片的路径,即可实现所需效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡卡卡骨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值