欢迎访问我的网站,希望内容对您有用,感兴趣的可以加入我们的社群。

PyQt5系列教程(二十六)设置背景图片

PyQt5开发 迷途小书童 3年前 (2022-04-26) 3033次浏览 0个评论

软硬件环境

  • Windows 10 64bit
  • Anaconda3 with python 3.7
  • PyQt5

实战

为了界面美观,有时候需要设置窗口的背景图片,本篇就来实现这个需求。

使用 designer 设计一个简单的界面,拖动三个 push button 到窗口中,调整下大小、位置,保存成 .ui文件后,使用 pyuic 进行代码转换

pyuic5.bat -o ui.py project.ui

pyqt5 set background image

来到工程入口文件 main.py

import sys

from PyQt5.QtWidgets import QMainWindow, QApplication

from ui import Ui_MainWindow

class MainWindow(QMainWindow, Ui_MainWindow):

    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)

if __name__ == '__main__':

    stylesheet = """
        MainWindow {
            background-image: url("bg.jpg"); 
            background-repeat: no-repeat; 
            background-position: center;
        }
    """

    app = QApplication(sys.argv)
    app.setStyleSheet(stylesheet)
    windows = MainWindow()
    windows.show()
    sys.exit(app.exec_())

还是熟悉的,app 实例化,然后使用 setStyleSheet 方法来设置样式,在属性 background-image 写上背景图片的地址,这里还支持网络图片地址。可以看到在标签中我们写的是 MainWindows,也就是我们设置的是这个窗口的样式,从而达到设置整个窗口背景图的目的。

上述代码执行后,效果如下

pyqt5 set background image

除了用代码来设置样式,其实在 designer 也可以完成,选择控件,然后右键选择 改变样式表

pyqt5 set background image

pyqt5 set background image

资源这块使用的是 Qt 自有的 qrc 资源文件,这里以设置第一个按钮的背景图为例,点击添加资源下的image

pyqt5 set background image

新建一个资源文件,并将背景文件放进来

pyqt5 set background image

pyqt5 set background image

qrc 文件跟 xml 文件比较类似,用来指定资源文件的路径

<RCC>
  <qresource>
    <file>bg.jpg</file>
  </qresource>
</RCC>

pyqt5 set background image

pyqt5 set background image

除此之外,还可以设置背景颜色、边缘、字体等,大家可以自己去玩玩

源码下载

https://github.com/xugaoxiang/learningPyQt5

PyQt5系列教程

更多 PyQt5 教程,请移步

https://xugaoxiang.com/category/python/pyqt5/

喜欢 (0)

您必须 登录 才能发表评论!