Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 当我使用MainWindow.hide()函数时,它会给我一个错误,说明MainWindow未定义,但同一个MainWindow在setupUI和重新转换UI中工作_Mysql_Pyqt5_Qt Designer - Fatal编程技术网

Mysql 当我使用MainWindow.hide()函数时,它会给我一个错误,说明MainWindow未定义,但同一个MainWindow在setupUI和重新转换UI中工作

Mysql 当我使用MainWindow.hide()函数时,它会给我一个错误,说明MainWindow未定义,但同一个MainWindow在setupUI和重新转换UI中工作,mysql,pyqt5,qt-designer,Mysql,Pyqt5,Qt Designer,我对PyQt5相当陌生。所以,在这里,我试图在一个项目中的登录页面对话框窗口的第一个窗口工作。所以,如果输入的密码正确,它将打开另一个窗口 def login(self): eid=self.lineEdit.text() epass=self.lineEdit_2.text() if eid==idd and epass==passs: from BloodBank import Ui_MainWindow self.MainW

我对PyQt5相当陌生。所以,在这里,我试图在一个项目中的登录页面对话框窗口的第一个窗口工作。所以,如果输入的密码正确,它将打开另一个窗口

def login(self):
    eid=self.lineEdit.text()
    epass=self.lineEdit_2.text()
    
    if eid==idd and epass==passs:
        from BloodBank import Ui_MainWindow
        self.MainWindow = QtWidgets.QMainWindow()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self.MainWindow)
        LoginPage.hide()
        self.MainWindow.show()
    else:
        self.msgdlg("Wrong ID or Password!")
在这个窗口中,从标题栏菜单动作,我尝试附加另一个窗口,打开后,当前窗口将隐藏。为此,我编写了以下代码:

def menu(self,action):
    txt=(action.text())
    if txt=="Blood":
        try:
            from Blood import Ui_MainWindow
            self.MainWindow1 = QtWidgets.QMainWindow()
            self.ui = Ui_MainWindow()
            self.ui.setupUi(self.MainWindow1)
            MainWindow.hide()
            self.ui.updatelist()
            self.MainWindow1.show()
        except Exception as e:
            print(e)
现在,当我在没有MainWindow.hide()的情况下运行上述代码时,它运行得非常好。但一旦我输入MainWindow.hide()它就会给出以下错误

未定义名称“MainWindow”

当我在登录页面上尝试相同的.hide()功能时,它可以正常工作。
我需要做什么才能隐藏我的窗口?

您的代码有点不清楚,但我认为应该是
self.MainWindow.hide()
,因为我们正在尝试隐藏我们的父窗口小部件

编辑

在血库文件中尝试
self.hide()
,而不是
main window.hide()

问题是,您有两个文件,登录文件,其中包括登录页面和血库文件

当您在
self.MainWindow
的实例中创建一个应用程序时,它仅位于登录页面的
命名空间中


然后尝试从此文件打开另一个窗口(这是代码的第二部分)
MainWindow
实例不存在,因为您已在另一个文件(登录页)中定义(实例化)。

我尝试了它,但它会出现以下错误:“Ui\u MainWindow”对象没有属性“MainWindow”关于不清楚的代码,我可以解释它。我已经发布了连接到我的按钮的功能。现在在我的第一个代码中,我正在检查输入的id和密码是否正确。如果正确,它将从从我的第二个文件“血库”导入的类中打开另一个窗口。现在第二个代码来自“血库”文件。在这里,我试图从菜单操作打开另一个窗口。但我想要的是隐藏我的当前窗口。当我直接从血库文件运行我的项目时,没有登录文件。它可以与MainWindow.hide()配合使用。但当我运行登录页面,打开血库文件,然后打开另一个窗口时,我的代码卡在MainWindow.hide()上。没有MainWindow.hide(),一切正常,但我的窗口仍然打开