button = QPushButton()
img_path = '' # 图片路径
button.setStyleSheet("QPushButton{\n"
"border-image: url(\"%s\");\n"
"}" % img_path)
# border-image: url(\"%s\") 为设置的图片路径
该方法可以将图片直接自适应按钮大小,不需要调整图片,方便简洁。(但我在Mac上使用该方法时,点击按钮没有按钮动作,可以触发事件,问题待排查)
方法二、设置图片Icon setIcon
from PyQt5 import QtCore, QtGui, QtWidgets
button = QPushButton()
img_path = '' # 图片路径
button.setIcon(QtGui.QIcon(img_path))
button.setIconSize(QtCore.QSize(25, 25)) # 设置icon大小
该方法也不需要调整图片大小,可以自适应适配。
但我在Mac上仍然出现了该问题: 点击button无按钮效果,可以触发事件
对与控件QPushButton中的可以使用setStyleSheet设置它背景图片。具体设置背景图片的方法有两种
self.button.setStyleSheet(QPushButton{background-image: url(img/1.png)})
然而对于这种方法背景图片无法进行边框的自适应,可以使用下面的方法
self.button.setStyleSheet(QPushButton{border-image: url(img/1.png)})
可以做到自适应边框。
代码里面有两个图片需要使用,我放在下面了
import sys
from Py
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录前言一、引入资源文件插入图片1.打开Qt设计页面2.打开资源文件管理器3.新建资源文件夹4.添加前缀5.资源插入前缀6.插入图片至页面7.将图片转化为代码二、使用步骤1.引入库2.读入数据总结
这次在做一个项目的时候深有体会,想把所学的都记录下来,也希望同时能够帮助到大家!!!
提示:以下是本篇文章正文内容,下面案例可供参考
一、引入资源文件插入图片
1.打开Qt设计页面
2.打开资源文件管理器
3.新建资源文件夹
图片的载体
图片必须通过lable的形式贴到程序中,需要在相应位置生成lable组件
self.label = QtWidgets.QLabel(self.groupBox_3)
self.label.setGeometry(QtCore.QRect(13, 128, 601, 421))
self.label.se
emsp;emsp;很多时候在界面设计中,我们需要导入自己预先设计好的图片。那具体是怎么实现呢?这篇文章会给你答案的!
一、QT5导入自己的图片
emsp;emsp; 说明:使用环境为windows10+Qt Creator 4.8.0+Qt 5.12
点击左上角“文件”,再点击“新建文件或项目”
在弹出的框中左列选择“Qt”,中间列选择Qt Resource File,点击右下角choose
设置名称和路径(路径就选择想要导入的文件夹即可),点击“下一步”:
出现以下界面后,点击右下角
```python
from PyQt5.QtWidgets import QApplication, QPushButton
from PyQt5.QtGui import QPixmap
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
button = QPushButton("点击我")
button.setGeometry(50, 50, 200, 50) # 设置按钮尺寸
# 加载背景图片,并将其作为CSS样式应用于按钮
pixmap = QPixmap('your_image_path.jpg') # 替换为你的图片路径
if pixmap.isNull():
print("图片加载失败")
else:
styleSheet = f"background-image: url({pixmap.toImage().toDataUrl()});\n" \
"border: none;\n" \
"padding: 0; margin: 0;\n" \
"min-width: max-content; min-height: max-content;" # 自适应大小
button.setStyleSheet(styleSheet)
self.show()
if __name__ == '__main__':
app = QApplication([])
my_window = MyWindow()
app.exec_()
在这个例子中,首先加载图片,如果图片存在,则将图片数据转换为DataURL格式并添加到CSS样式里。`min-width`和`min-height`属性用于让按钮的内容区域自适应图片大小。