常用的QSS

对比CSS来学习对常见的控件美化。
还有对界面整体的美化,要学会如何使用QSS。

总之CSS特别是父子关系是一定要学习的。
还要清楚如何消除控件间的间隔,如何用QSS来影响布局,主要是影响2控件之间的布局。

使用qss

1.在代码文件中定义QSS样式
给某个控件使用样式可以使用setStyleSheet

# 给按钮btn设置样式
self.btn.setStyleSheet('background: cyan; border: none; color: #fff;')
## 给所有的QPushButton 按钮设置颜色
self.setStyleSheet('QPushButton {background: cyan; border: none; color: #fff;}')
## 给组件设置id,然后再根据id对其设定样式
self.btn1.setObjectName('btn1')
self.setStyleSheet('QPushButton#btn1{color: #f00; font-size: 20px;}')

2.在单独的外部环境中设定qss样式
单独定义一个xx.qss文件来写样式
注意点:在pyqt5中相同的样式好像只能使用一次,与前端css样式有区别

QPushButton{
    background: cyan;
    border: none;
    color: #fff;
}

QPushButton:btn1 {
    font-size: 18px;
}

借鉴自https://juejin.cn/post/6844903775447023630
常见的CSS关键字,背景,长度,宽度,前景色,背景色,字体颜色

几何样式

宽度

{max-width:200px; min-width:200px}

给控件标签或者按钮添加背景图片

        # 图片的路径
        filename = r".\images\Cloudy_72px.png"
        # 写入图片
        img = QImage( filename )
        # 标签设置
        label1 = QLabel(self)
        label1.setFixedWidth(120)
        label1.setFixedHeight(120)
        # 这里设置按比例缩放图片;自带的么;但并未生效
        result = img.scaled(label1.width(), label1.height(),Qt.IgnoreAspectRatio, Qt.SmoothTransformation);
        label1.setPixmap(QPixmap.fromImage(result)) # 把图片添加到label标签上
posted @ 2022-06-07 21:27  索匣  阅读(144)  评论(0编辑  收藏  举报