Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法使用PyQt5在父QWidget中添加背景图像?_Python_Python 3.x_Pyqt5 - Fatal编程技术网

Python 无法使用PyQt5在父QWidget中添加背景图像?

Python 无法使用PyQt5在父QWidget中添加背景图像?,python,python-3.x,pyqt5,Python,Python 3.x,Pyqt5,在过去的两天里,我一直在努力解决这个问题。。。我想简单地添加一个拉伸的背景图像到我的父母QWidget。在到处搜索之后,我确实尝试了几十次,但我仍然被这个问题困扰着。我不使用资源(来自qt设计器)。公共广播局: 并且它不工作(显示默认背景)。但当我执行此命令时: Form.setStyleSheet("border-image: url(space.png) 0 0 0 0 stretch stretch;") 所有的Qwidgets孩子都有背景,这显然不是我想要的。但这至少证

在过去的两天里,我一直在努力解决这个问题。。。我想简单地添加一个拉伸的背景图像到我的父母QWidget。在到处搜索之后,我确实尝试了几十次,但我仍然被这个问题困扰着。我不使用资源(来自qt设计器)。公共广播局:

并且它不工作(显示默认背景)。但当我执行此命令时:

        Form.setStyleSheet("border-image: url(space.png) 0 0 0 0 stretch stretch;")
所有的Qwidgets孩子都有背景,这显然不是我想要的。但这至少证明了资源本身没有问题。我不敢相信PyQt5中不支持一些基本功能,如设置背景图像。。。显然,我不是唯一一个:

我尝试通过Qpalete()使其工作,效果更好,但我不知道如何使背景图像拉伸=/:

    image = QtGui.QImage("space.png")
    palette = QtGui.QPalette()
    palette.setBrush(10, QtGui.QBrush(image))     

    Form.setPalette(palette)
有什么想法吗?

我找到了一个解决方案(在Qt论坛的帮助下)。我查看了QWidget,但找不到如何自定义QWidget,所以我只是将QWidget转换为QMainWindow。我去掉了菜单栏和状态栏,因为我不需要它们。。。现在使用QMainWindow一切正常:)


尝试
Form.setStyleSheet(“border image:url(space.png);”)
…顺便说一句,希望您不要为您的回复@danidee执行
setStyleSheet
两次(在init方法和其他地方)Thx。我尝试了您的命令,但不幸的是,该图像应用于所有父对象的子对象(1个hlayout和2个QGroupBox)。即使在对我的一些QpushButton或QGroupBox小部件应用程序的所有
setStyleSheet
进行了注释之后,我也面临着同样的问题。。。
    image = QtGui.QImage("space.png")
    palette = QtGui.QPalette()
    palette.setBrush(10, QtGui.QBrush(image))     

    Form.setPalette(palette)
class Ui_MainWindow(QtWidgets.QMainWindow):

def __init__(self):
  super().__init__()       
  self.setupUi(self)

def setupUi(self, MainWindow):
  MainWindow.setObjectName("MainWindow")
  MainWindow.resize(856, 610)
  MainWindow.setStyleSheet("#MainWindow { border-image: url(space.png) 0 0 0 0 stretch stretch; }")
  self.centralwidget = QtWidgets.QWidget(MainWindow)
  self.centralwidget.setObjectName("centralwidget")