1
我不知道爲什麼這個應用程序沒有顯示任何東西。我會複製幾行以提供問題的要點。使用PyQt4QGraphicsView不顯示在QMainWindow中
class SomeScene(QtGui.QGraphicsScene):
def __init__(self, parent = None):
QtGui.QGraphicsScene.__init__(self, parent)
pixmap = QtGui.QPixmap('someImage') # path is DEFINITELY valid
item = QGraphicsPixmapItem(pixmap)
self.addItem(item)
class MainWindow(QtGui.QMainWindow):
def __init__(self, parent = None):
QtGui.QMainWindow.__init__(self, parent)
... # code to set up window
scene = SomeScene()
view = QtGui.QGraphicsView(scene)
hbox = QtGui.QHBoxLayout()
hbox.addWidget(view)
mainWidget = QtGui.QWidget()
mainWidget.setLayout(hbox)
self.setCentralWidget(mainWidget)
app = QtGui.QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())
這隻會顯示一個空格。
修正了問題,但很奇怪。即使文檔指出您可以,您也無法初始化場景中的「視圖」。相反,您需要使用默認構造函數,然後手動調用view.setScene(scene)。 – floogads 2010-09-08 02:19:57
這很奇怪。在C++中你的等效代碼工作正常。在我的代碼中,我將SomeScene(),QHBoxLayout()和QWidget()設置爲「self」。 – 2010-09-08 02:51:52