首页 > 解决方案 > PyQt5 class parametres are not passed during opening new window from button

问题描述

I've got the following Code:

import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QMainWindow, QDialog, QApplication, QSizePolicy, QVBoxLayout, QFileDialog
from MainWindowp import Ui_MainWindow
from HelpMenup import Ui_HelpWindow

class Help_Window(QMainWindow, Ui_HelpWindow):
    def __init__ (self):
        QMainWindow.__init__(self)
        self.setupUi(self)


        self.SearchButton.setMaximumHeight(40)
        self.SearchButton.setMinimumHeight(40)

        self.KeyWordField.setMaximumHeight(40)
        self.KeyWordField.setMinimumHeight(40)

        self.SearchMoreButton.setMaximumHeight(40)
        self.SearchMoreButton.setMinimumHeight(40)

        self.SupportButton.setMaximumHeight(40)
        self.SupportButton.setMinimumHeight(40)

        self.GoBackButton.setMaximumHeight(40)
        self.GoBackButton.setMinimumHeight(40)
        self.GoBackButton.clicked.connect(self.set_text_to_KeyWordField)

    def set_text_to_KeyWordField ():
        self.KeyWordField.setPlainText('This is new text')



class MainWindow(Ui_MainWindow, QMainWindow):
    def __init__(self):
        QMainWindow.__init__(self)
        self.setupUi(self)

        #Set Window Fixed 
        self.setFixedSize(310, 317)

        ##Set Compare Data Button fixed size
        self.CompareDataButton.setMaximumHeight(40)
        self.CompareDataButton.setMinimumHeight(40)
        self.CompareDataButton.setMaximumWidth(250)
        self.CompareDataButton.setMinimumWidth(250)

        ##Set Clear Data Button fixed size
        self.ClearDataButton.setMaximumHeight(40)
        self.ClearDataButton.setMinimumHeight(40)
        self.ClearDataButton.setMaximumWidth(250)
        self.ClearDataButton.setMinimumWidth(250)

        ##Set Divide Data Button fixed size
        self.DivideDataButton.setMaximumHeight(40)
        self.DivideDataButton.setMinimumHeight(40)
        self.DivideDataButton.setMaximumWidth(250)
        self.DivideDataButton.setMinimumWidth(250)

        ##Set Determine Conflicts Button fixed size
        self.DetermineConflictsData.setMaximumHeight(40)
        self.DetermineConflictsData.setMinimumHeight(40)
        self.DetermineConflictsData.setMaximumWidth(250)
        self.DetermineConflictsData.setMinimumWidth(250)

        ##Set Help Button fixed size
        self.HelpButton.setMaximumHeight(40)
        self.HelpButton.setMinimumHeight(40)
        self.HelpButton.setMaximumWidth(250)
        self.HelpButton.setMinimumWidth(250)
        self.HelpButton.clicked.connect(self.HelpWindow)


    def HelpWindow (self):
        MainWindow.hide(self)
        self.window = QtWidgets.QMainWindow()
        self.app = QtWidgets.QApplication(sys.argv)
        self.ui = Ui_HelpWindow()
        self.ui.setupUi (self.window)
        self.window.show()

def main_application ():
    app = QApplication(sys.argv)
    main = MainWindow()
    main.show()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main_application()

When opening the HelpWindow, from 'HelpButton' , the class 'Help_Window' doesn't work and i'm unable to connect front-end to backend on that window... I'm new to python, so please sorry for stupid question(perhaps)

标签: pythonpyqtpyqt5

解决方案


推荐阅读