2017-02-24 80 views
1

我是新來的蟒蛇世界:PPyQt5改變UI,而另一個UI已經運行

我想創建使用PyQt5的UI將創造另一個窗口按鈕的點擊。

現在的事情是,一切都將通過控制器,並將由一個行動執行。此操作將具有創建起始用戶界面和下一個用戶界面的代碼。

請檢查下面的代碼:

創建UI

def init_view(self,action,viewToCreate,cls): 
     if action=="start": 
      self.app = QtWidgets.QApplication(sys.argv) 
      self.window = QtWidgets.QWidget() 

      #cls IS THE CLASS FOR THE UI 
      #setupUI IS THE METHOD THAT CREATES THE UI 
      self.ui = cls.Ui_Class(controllerReceived) 
      self.ui.setupUi(self.window) 
      self.window.show() 
      sys.exit(self.app.exec_()) 

     #HERE IS THE PROBLEM, IT SHOULD CREATE A SECOND UI 
     #WHILE CLOSING THE FIRST ONE 
     elif action=="change": 

      #I CAN CREATE A UI USING THE FOLLOWING CODE 
      #BUT ONLY IF IS CONTAINED IN THE STARTING UI 
      self.window = QtWidgets.QWidget() 
      ui = cls.Ui_Class() 
      ui.setupUi(self.window) 
      self.window.show() 

回答

0

如果你想要的是兩個獨立的窗口,每個窗口爲什麼不能保存到一個單獨的變量,然後顯示和隱藏在必要時,例如

self.window1 = MyWindow1() 
self.window2 = MyWindow2() 
... 
if action == 'start': 
    self.window1.show() 
    self.window2.hide() 
elif action == 'change': 
    self.window1.hide() 
    self.window2.show() 
相關問題