我正试图将背景图像设置为我在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)