2017-04-02 37 views
0

我有兩個.py文件,它們是從QtDesigner中生成的.ui文件創建的。一個是該程序的主窗口,另一個是允許用戶輸入信息的小部件,我將其稱爲「評估」小部件。在python中,如何使用在QtDesigner中創建的.ui文件創建的.py文件在主窗口中單擊按鈕打開一個新窗口?

我在主窗口中有一個名爲「btn_StartNew」的按鈕,這意味着打開窗口小部件以允許用戶開始新的評估。我在打開主窗口時遇到麻煩,並將該功能添加到打開「評估」窗口小部件的「btn_StartNew」按鈕中。

我現在所擁有的,當我運行代碼打開兩個主窗口,並在同一個窗口評估插件的代碼:

import sys 
from PyQt4 import QtCore, QtGui 
from wid_Main import Ui_wid_Main 
from wid_Eval_v2 import Ui_wid_Eval 

class Win_Eval(QtGui.QWidget): 
    def __init__(self, parent=None): 
     super(Win_Eval, self).__init__(parent) 

     self.ui=Ui_wid_Eval() 
     self.ui.setupUi(self)  


class Win_Main(QtGui.QMainWindow): 
    def __init__(self, parent=None): 
     super(Win_Main, self).__init__(parent) 

     self.ui=Ui_wid_Main() 
     self.ui.setupUi(self) 

     #RUN "start new eval" button 
     self.ui.btn_StartNew.clicked.connect(self.btn_StartNew_click) 
     self.dialog = Win_Eval(self) 

    def btn_StartNew_click(self): 
     self.dialog.show() 


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


if __name__ == '__main__': 
    main() 

凡wid_Main和Ui_wid_Main是主窗口文件和主窗口類, 分別。 wid_Eval_v2和Ui_wid_Eval分別是評估窗口小部件文件和類。

任何幫助將不勝感激!

回答

0

您必須更改:

self.dialog = Win_Eval(self) 

self.dialog = Win_Eval() 
+0

謝謝。這工作完美。 –

+0

如果我的答案對您有幫助,請將其標爲正確 – eyllanesc

相關問題