QPalette,设置背景图像Python3 PyQT4

时间:2014-09-30 21:00:43

标签: python-3.x 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() NameError:全局名称' QPalette'未定义

为什么?我的班级:班级(QtGui.QFrame):

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

任何有助于避免的帮助,

谢谢!

1 个答案:

答案 0 :(得分:1)

你没有在你的代码中写下它,所以也许你的问题是你没有导入它。

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)