设置centralWidget的布局后,不显示PyQt窗口

时间:2017-01-10 03:25:56

标签: python qt layout pyqt qt-designer

我正在制作PyQt应用程序,UI文件是使用Qt Designer设计的。它的初始结构是这样的:

MainWindow
- CentralWidget
  - PaintWidget (which was promoted from QWidget)

由于当窗口最大化时paintwidget没有调整大小,我根据这里的建议在MainWindow类的centerwidget中添加了一个布局:PyQt: getting widgets to resize automatically in a QDialog

class MainWindow(QtGui.QMainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        uic.loadUi('mainwindow.ui', self)
        top_layout = QtGui.QVBoxLayout(self.centralWidget)
        self.centralWidget.setLayout(top_layout)
        top_layout.addWidget(self.paintwidget)

if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    mainWin = MainWindow()
    mainWin.show()
    ret = app.exec_()
    sys.exit(ret)

但是,应用程序窗口不再显示。当我在Wing IDE中运行它时,调试过程立即退出。

我也尝试直接在Qt Designer中为centralWidget设置布局,但是应用程序也没有执行。为什么呢?

0 个答案:

没有答案