实例:为标签与按钮添加背景图片
样式表中为按钮设置了三种状态,(正常按钮状态,鼠标悬停在按钮上,按下按钮的状态)
标签只设置了图片的加载
from PyQt5.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayout, QPushButton
import sys
class WindowDemo(QWidget):
def __init__(self):
super().__init__()
# 实例化标签,设置提示信息
label1 = QLabel(self)
label1.setToolTip('这是一个文本标签')
#设置标签的样式,图片加载
label1.setStyleSheet("QLabel{border-image: url(./images/screen1.jpg);}")
#设置标签的宽高
label1.setFixedWidth(476)
label1.setFixedHeight(259)
# 实例化按钮
btn1 = QPushButton(self)
#设置按钮的名称
btn1.setObjectName('btn1')
#设置按钮最大与最小宽高
btn1.setMaximumSize(64, 64)
btn1.setMinimumSize(64, 64)
#设置按钮的样式
style = '''
#btn1{
border-radius: 30px;
background-image: url('./images/left.png');
}
#btn1:hover{
border-radius: 30px;
background-image: url('./images/leftHover.png');
}
#btn1:Pressed{
border-radius: 30px;
background-image: url('./images/leftPressed.png');
}
'''
#按钮样式加载
btn1.setStyleSheet(style)
#控件的添加与窗口布局设置
vbox = QVBoxLayout(self)
vbox.addWidget(label1)
vbox.addStretch()
vbox.addWidget(btn1)
self.setWindowTitle("按钮和Label添加背景图片例子")
if __name__ == "__main__":
app = QApplication(sys.argv)
win = WindowDemo()
win.show()
sys.exit(app.exec_())
运行效果如下
实例:缩放图片
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QImage, QPixmap
from PyQt5.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayout
class WindowDemo(QWidget):
def __init__(self):
super().__init__()
#图片的的路径
filename = r".\images\Cloudy_72px.png"
#图片加载
img = QImage(filename)
#实例化标签,设置标签的宽高
label1 = QLabel(self)
label1.setFixedSize(120,120)
#设置图片的相关属性
result = img.scaled(label1.width(), label1.height(), Qt.IgnoreAspectRatio, Qt.SmoothTransformation);
#在标签控件上显示图片
label1.setPixmap(QPixmap.fromImage(result))
#窗口布局设置与控件添加
vbox = QVBoxLayout(self)
vbox.addWidget(label1)
#设置标题
self.setWindowTitle("图片大小缩放例子")
if __name__ == "__main__":
app = QApplication(sys.argv)
win = WindowDemo()
win.show()
sys.exit(app.exec_())
运行效果如下
核心代码
#设置图片的相关属性
result = img.scaled(label1.width(), label1.height(), Qt.IgnoreAspectRatio, Qt.SmoothTransformation);
#在标签控件上显示图片
label1.setPixmap(QPixmap.fromImage(result))
实例:设置窗口透明
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
if __name__ == "__main__":
app = QApplication(sys.argv)
win = QMainWindow()
win.setWindowTitle("窗口的透明度设置")
win.resize(350, 250)
#设置窗口的透明程度(0.0-1.0),默认1,不透明
win.setWindowOpacity(0.5)
win.show()
sys.exit(app.exec_())
运行效果
相关源码及素材
https://download.csdn.net/download/jia666666/10616087