Python 调用pyqt窗口

Python 调用pyqt窗口,python,pyqt,pyqt4,Python,Pyqt,Pyqt4,我在QT4上创建了两个窗口。 在Idle中,我设法显示窗口1,并在单击按钮后添加关闭操作。 我想通过单击此按钮调用并显示窗口2。我的代码是: import os import shlex import sys, Tkinter #import Converted Python UI File from W0 import Ui_MainWindow1 如果我从W import Ui_main window2中包含以调用我的第二个窗口,它将直接显示我的window2并跳过window1

我在QT4上创建了两个窗口。 在Idle中,我设法显示窗口1,并在单击按钮后添加关闭操作。 我想通过单击此按钮调用并显示窗口2。我的代码是:

import os

import shlex

import sys, Tkinter

#import Converted Python UI File

from W0 import Ui_MainWindow1
如果我从W import Ui_main window2中包含
以调用我的第二个窗口,它将直接显示我的window2并跳过window1

class Main(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        # Button close the window1(would like to show window 2 instead now) .
        self.ui.pushButton.clicked.connect(self.close)

def main():
    app = QtGui.QApplication(sys.argv)
    window = Main()
    window.show()
    sys.exit(app.exec_())

main()
试试这个

from W0 import Ui_MainWindow1
from W import Ui_MainWindow2

class Main1(QtGui.QWidget):
    def __init__(self):
        QtGui.QWidget.__init__(self)
        self.ui = Ui_MainWindow1()
        self.ui.setupUi(self)
        self.ui.pushButton.clicked.connect(self.close)

class Main2(QtGui.QWidget):
    def __init__(self):
        QtGui.QWidget.__init__(self)
        self.ui = Ui_MainWindow2()
        self.ui.setupUi(self)
        self.ui.pushButton.clicked.connect(self.close)

def main():
    app = QtGui.QApplication(sys.argv)

    window1 = Main1()
    window1.show()

    window2 = Main2()
    window2.show()

    sys.exit(app.exec_())

main()

首先,为什么要将
Tkinter
导入
Qt
程序?第二,请固定压痕;当代码不可运行或不可读时,很难猜测您做错了什么。此外,您还没有向我们展示足够的代码。您的
Main.\uuuuu init\uuuuuu
实例化了某个类
Ui\u Main窗口
,但没有代码创建这样的类。您正在从W0导入UIAN MIN WORKOW1
,但是您可能会认为是一个小的类型,解释程序会考虑完全不同的事情,并给您一个<代码>名称错误<代码>。最后,很可能您的实际代码的问题是(a)您试图将
W0.Ui\u MainWindow1
W1.Ui\u MainWindow2
放入同一个变量,或者(b)您在
W0
W1
中有一些设置代码正在运行自己的事件循环,因此主脚本中的设置代码根本无法运行。如果看不到实际运行的代码,包括
W0.py
W1.py
——或者,更好的是,它的精简版本,它的大小刚好足以证明问题,这将很难做得比猜测更多。