Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何使用pyqt、qt设计器弹出新窗口_Python 3.x_Pyqt4_Qt Designer - Fatal编程技术网

Python 3.x 如何使用pyqt、qt设计器弹出新窗口

Python 3.x 如何使用pyqt、qt设计器弹出新窗口,python-3.x,pyqt4,qt-designer,Python 3.x,Pyqt4,Qt Designer,这是我的python代码。 我从qt设计器加载了三个ui文件。 我已经创建了MyWindow类,它是MainWindow。我想在单击工具栏时弹出MyWindow2或MyWindow3。弹出新窗口是成功的,但它不是我创建的。那只是一扇空窗户。 python似乎没有加载AddFuseWindow和AddLoadWindow。 您可以在函数中定义新的弹出窗口,并将其连接到工具栏项 import sys from PyQt4.QtGui import * from PyQt4.QtCore import

这是我的python代码。 我从qt设计器加载了三个ui文件。 我已经创建了MyWindow类,它是MainWindow。我想在单击工具栏时弹出MyWindow2或MyWindow3。弹出新窗口是成功的,但它不是我创建的。那只是一扇空窗户。 python似乎没有加载AddFuseWindow和AddLoadWindow。

您可以在函数中定义新的弹出窗口,并将其连接到工具栏项

import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from PyQt4 import uic

MainWindow = uic.loadUiType("simulator_ver_0.1.ui")[0]
AddFuseWindow = uic.loadUiType("simulator_add_fuse_ver_0.1.ui")[0]
AddLoadWindow = uic.loadUiType("simulator_add_load_ver_0.1.ui")[0]

class MyWindow2(QWidget, AddFuseWindow):
    def _init_():
        super()._init_(self)
        self.setupUi(self)

class MyWindow3(QWidget , AddLoadWindow):
    def _init_():
        super()._init_(self)
        self.setupUi(self)


class MyWindow(QMainWindow, MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.connect(self.actionFuse, SIGNAL("triggered()"), self.add_fuse)
        self.connect(self.actionLoad, SIGNAL("triggered()"), self.add_load)


    def add_fuse(self):
        self.w2 = MyWindow2(self)
        self.w2.show()

    def add_load(self):
        self.w3=MyWindow3()
        self.w3.show()



if __name__ == "__main__":
    app = QApplication(sys.argv)
    myWindow = MyWindow()
    myWindow.show()
    app.exec_()
您也可以使用来做同样的事情

self.toolbaritem.triggered.connect(self.doSomething)

def doSomething(self):
    window = OtherWindow()
    window.show()
    self.close()


class OtherWindow():
    def dothis(self):
        window = SampleWin()
        window.show()
        self.close()