Python 不要在widget.setStyleSheet中插入背景图片
运行文件代码:Python 不要在widget.setStyleSheet中插入背景图片,python,qt,pyqt,background-image,stylesheet,Python,Qt,Pyqt,Background Image,Stylesheet,运行文件代码: from PyQt5 import QtCore, QtGui, QtWidgets import subprocess, re, shlex, json, test_fon_cod, os, sys, random, threading, time, glob, math, help, http.client, urllib.request, urllib.parse, urllib.error class Ui_Frame(QtWidgets.QMainWindow, t
from PyQt5 import QtCore, QtGui, QtWidgets
import subprocess, re, shlex, json, test_fon_cod, os, sys, random, threading, time, glob, math, help, http.client, urllib.request, urllib.parse, urllib.error
class Ui_Frame(QtWidgets.QMainWindow, test_fon_cod.Ui_test_fon):
def __init__(self, parent=None):
QtWidgets.QWidget.__init__(self, parent)
self.setupUi(self)
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
window = Ui_Frame()
window.show()
sys.exit(app.exec_())
运行通过pyuic5.bat从“ui”文件转换获得的文件:
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_test_fon(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(541, 600)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.widget = QtWidgets.QWidget(self.centralwidget)
self.widget.setGeometry(QtCore.QRect(18, 21, 190, 154))
self.widget.setStyleSheet("border-image: url(E:\image\fon.png);")
self.widget.setObjectName("widget")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 541, 21))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
他试图以不同的方式加载图片,而不是如何加载。
开始时,没有什么可咒骂的,但也不会加载更改模块的行
test\u fon\u cod.py
self.widget.setStyleSheet("border-image: url(E:\image\fon.png);")
在
见:
文件系统从根目录开始,在Unix上用正斜杠表示,在Windows上用驱动器号表示
>>> from pathlib import Path
>>> pathFile = Path("pythonw.exe").resolve()
>>>
>>> pathFile
WindowsPath('E:/Python/pythonw.exe')
>>>
main.py
from PyQt5 import QtCore, QtGui, QtWidgets
import test_fon_cod
class Ui_Frame(QtWidgets.QMainWindow, test_fon_cod.Ui_test_fon):
def __init__(self, parent=None):
QtWidgets.QMainWindow.__init__(self, parent)
self.setupUi(self)
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
window = Ui_Frame()
window.show()
sys.exit(app.exec_())
测试方(cod.py)
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_test_fon(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(541, 600)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.widget = QtWidgets.QWidget(self.centralwidget)
self.widget.setGeometry(QtCore.QRect(18, 21, 190, 154))
self.widget.setStyleSheet("border-image: url(E:/_Qt/img/qt-logo.png);") # <----
self.widget.setObjectName("widget")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 541, 21))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
从PyQt5导入QtCore、QtGui、qtwidget
类用户界面测试(对象):
def设置UI(自我,主窗口):
MainWindow.setObjectName(“MainWindow”)
主窗口。调整大小(541600)
self.centralwidget=qtwidts.QWidget(主窗口)
self.centralwidget.setObjectName(“centralwidget”)
self.widget=qtwidts.QWidget(self.centralwidget)
self.widget.setGeometry(QtCore.QRect(18,21,190,154))
self.widget.setStyleSheet(“边框图像:url(E:/Qt/img/Qt logo.png);”)#它没有help@S.Nick将qtwidts.QWidget.\uuuu init\uuuu(self,parent)
更改为qtwidts.QMainWindow.\uuuuu init\uuuu(self,parent)
@eyllanscyou@S.Nick我建议你解释一下你的解决方案,如果一个响应没有表明任何东西闻起来像是不合格的,请尝试它不是您的声誉良好的用户可以提供的答案,阅读:)例如,您应该说明为什么使用E:/image/fon.png
比E:\image\fon.png
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_test_fon(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(541, 600)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.widget = QtWidgets.QWidget(self.centralwidget)
self.widget.setGeometry(QtCore.QRect(18, 21, 190, 154))
self.widget.setStyleSheet("border-image: url(E:/_Qt/img/qt-logo.png);") # <----
self.widget.setObjectName("widget")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 541, 21))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))