QPalette,设置背景图像Python3-PyQT4



我正试图将背景图像设置为我在QMainWindows中调用的QFrame,例如:

        class MainWin(QtGui.QMainWindow):
        def __init__(self):
        super(MainWin, self).__init__()
        self.initUI()

        def initUI(self):

        #central widget
        self.theboard = Board(self)
        self.setCentralWidget(self.theboard)


        class Board(QtGui.QFrame):
        def __init__(self, parent):
        super(Board, self).__init__(parent)
        self.initBoard()
        def initBoard(self):
        #Set background Image
         frame = Board
         palette = QPalette()
         palette.setBrush(QPalette.Background,QBrush(QPixmap("ImageTest.jpg"))) 
         frame.setPalette(palette)

使用Qpalette/Qpixmap,正如我在网上的一些例子中发现的那样。但它不起作用:

self.palette=QPalette()名称错误:未定义全局名称"QPalette"

为什么?这里我的类:类板(QtGui.QFrame):

我很好地继承了QtGui,所以Qpalette应该可以工作。我不得不承认,我对Qpalette的工作方式有点困惑。

,有什么帮助吗

谢谢!

您没有在代码中写入它,所以可能您的问题是没有导入它。

from PyQt4 import QtCore, QtGui
from PyQt4.QtGui import QPalette

如果不是这样的话,试试这个:

palette = QPalette()
palette.setBrush(QPalette.Background,QBrush(QPixmap("anne.jpg"))) # Haha, aren't I so funny??
frame.setPalette(palette)

最新更新