2012-03-14 46 views
0

我想安排使用QGridLayout QPixmap和QLineEditor對象,但我得到以下錯誤。使用QWidget以外的類與QGridLayout使用PySide或PyQt

TypeError: 'PySide.QtGui.QGridLayout.addWidget' called with wrong argument types: 
    PySide.QtGui.QGridLayout.addWidget(PySide.QtGui.QPixmap, int, int, int, int) 
Supported signatures: 
    PySide.QtGui.QGridLayout.addWidget(PySide.QtGui.QWidget, int, int, PySide.QtCore.Qt.Alignment = 0) 
    PySide.QtGui.QGridLayout.addWidget(PySide.QtGui.QWidget, int, int, int, int, PySide.QtCore.Qt.Alignment = 0) 
    PySide.QtGui.QGridLayout.addWidget(PySide.QtGui.QWidget) 

我能想到的就是以某種方式使它們成爲QWidgets,但我不確定這是否可能。

回答

0

我發現我不得不使QPixmap的參數QWidget,如QLabel。所以我最終這樣做:

imageBox = QtGui.QLabel(self) 
imageBox.setGeometry(0,0,300,200) 
imageBox.setPixmap(QtGui.QPixmap(os.getcwd() + '/tmp.png').scaled(300,200)) 

然後將其添加到網格。