2016-09-16 139 views
1
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_() 

这里是我的python代码。 我加载了三个来自qt designer的ui文件。 我已经创建了MyWindow类,它是MainWindow。我想弹出MyWindow2或MyWindow3,当我点击工具栏。弹出新窗口很成功,但这不是我创建的。这只是空的窗口。 看起来像python没有加载AddFuseWindow和AddLoadWindow。 enter image description here如何使用pyqt,qt设计器弹出新窗口

回答

1

您可以在函数中定义新的弹出窗口并将其连接到工具栏项目。您可以使用QStackedWidget来做同样的事情。