我正在尝试将背景图像设置为我在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的工作方式有些困惑。
任何有助于避免的帮助,
谢谢!
答案 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)