在主窗口中显示子窗口

时间:2017-02-09 11:50:14

标签: python-3.x class pyqt4

无法使用类来解决如何在主窗口中嵌入窗口的问题:

#!/usr/bin/python3
# -*- coding: utf-8 -*-

"""
Qt4 tutorial using classes

This example will be built
on over time.
"""

import sys
from PyQt4 import QtGui, QtCore

class Form(QtGui.QWidget):

    def __init__(self, MainWindow):
        super(Form, self).__init__()


class MainWindow(QtGui.QMainWindow):

    def __init__(self, parent=None):
        super(MainWindow, self).__init__()
        self.setGeometry(50, 50, 1600, 900)
        new_window = Form(self)
        self.show()


def main():
    app = QtGui.QApplication(sys.argv)
    main_window = MainWindow()
    sys.exit(app.exec_())    

if __name__ == "__main__":
    main()

这应该是使用类的最基本的代码。如何让第二个窗口显示出来。

1 个答案:

答案 0 :(得分:1)

正如ekhumoro已经指出的那样,你的小部件需要是你的mainWindow的孩子。但是,我认为您不需要为小部件调用String a = "food".substring(0, 3).intern(); String b = "foo"; assert a == b; ,因为只要其父级(show)调用MainWindow,它就会被调用。正如mata正确指出的那样,将show添加到Widget实例的正确方法是使用MainWindow。以下是澄清的工作示例:

setCentralWidget