我有两个从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 :(得分:1)
你必须改变:
self.dialog = Win_Eval(self)
到
self.dialog = Win_Eval()