博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PyQt5之设置样式
阅读量:3957 次
发布时间:2019-05-24

本文共 2349 字,大约阅读时间需要 7 分钟。

一、为标签和按钮添加背景图片

import sysfrom PyQt5 import QtCorefrom PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.QtCore import *class Demo(QWidget):    def __init__(self):        super().__init__()        self.setGeometry(500,300,300,300)        label = QLabel(self)        label.setToolTip('这是一个标签')        #为标签添加背景图片        label.setStyleSheet('QLabel{border-image:url(python.jpg);}')        #设置标签大小        label.setFixedWidth(128)        label.setFixedHeight(128)        btn = QPushButton(self)        #为按钮添加背景图片        btn.setStyleSheet('QPushButton{background-image:url("python.jpg");}')        #设置按钮大小        btn.setMaximumSize(128,128)        btn.setMinimumSize(128,128)        layout = QVBoxLayout(self)        layout.addWidget(label)        layout.addWidget(btn)if __name__ == "__main__":    app = QApplication(sys.argv)    form = Demo()    form.show()    sys.exit(app.exec_())

运行效果如下:

在这里插入图片描述

二、缩放图片

import sysfrom PyQt5 import QtCorefrom PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.QtCore import *class Demo(QWidget):    def __init__(self):        super().__init__()        self.setGeometry(500,300,300,300)        self.setWindowTitle('缩放图片')        img = QImage('python.jpg')        label = QLabel(self)        # 设置标签大小        label.setFixedWidth(128)        label.setFixedHeight(128)        #缩放图片,以固定大小显示        result = img.scaled(label.width(),label.height(),Qt.IgnoreAspectRatio,Qt.SmoothTransformation)        #在标签上显示图片        label.setPixmap(QPixmap.fromImage(result))if __name__ == "__main__":    app = QApplication(sys.argv)    form = Demo()    form.show()    sys.exit(app.exec_())

运行效果如下:

在这里插入图片描述

在这里插入图片描述

三、设置窗口透明

win = QMainWindow()#0表示完全透明,1表示不透明,值越小,透明度越大win.setWindowOpacity(0.5)

四、加载QSS

通常定义一个QSS文件,然后编写各种控件的样式,最后使用QApplication或QMainWindow来加载样式,这样就可以让整个应用程序共享同一种样式。

编写QSS:

QMainWindow{
border-image:url(python.jpg);}

加载QSS:

import sysfrom PyQt5 import QtCorefrom PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.QtCore import *class CommonHelper:    def __init__(self):        pass    @staticmethod    def readQSS(style):        with open(style,'r') as f:            return f.read()if __name__ == "__main__":    app = QApplication(sys.argv)    form = QMainWindow()    #换肤时进行全局修改,只需修改不同的QSS文件即可    style = CommonHelper.readQSS('style.qss')    form.setStyleSheet(style)    form.show()    sys.exit(app.exec_())

运行效果如下:

在这里插入图片描述

转载地址:http://yxozi.baihongyu.com/

你可能感兴趣的文章
AJAX 基础
查看>>
JSON 基础
查看>>
J2EE监听器Listener接口大全[转]
查看>>
cookie、session、sessionid 与jsessionid[转]
查看>>
常见Oracle HINT的用法
查看>>
JAVA中各类CACHE机制实现的比较 [转]
查看>>
PL/SQL Developer技巧
查看>>
3-python之PyCharm如何新建项目
查看>>
15-python之while循环嵌套应用场景
查看>>
17-python之for循环
查看>>
18-python之while循环,for循环与else的配合
查看>>
19-python之字符串简单介绍
查看>>
20-python之切片详细介绍
查看>>
P24-c++类继承-01详细的例子演示继承的好处
查看>>
P8-c++对象和类-01默认构造函数详解
查看>>
P1-c++函数详解-01函数的默认参数
查看>>
P3-c++函数详解-03函数模板详细介绍
查看>>
P4-c++函数详解-04函数重载,函数模板和函数模板重载,编译器选择使用哪个函数版本?
查看>>
P5-c++内存模型和名称空间-01头文件相关
查看>>
P6-c++内存模型和名称空间-02存储连续性、作用域和链接性
查看>>