使用PySide或PyQt将QWidget以外的类与QGridLayout一起使用

时间:2012-03-14 04:14:10

标签: python-3.x pyqt4 pyside

我正在尝试使用QGridLayout安排QPixmap和QLineEditor对象,但是我收到以下错误。

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,但我不确定这是否可能。

1 个答案:

答案 0 :(得分: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))

然后将其添加到网格中。