如何在 pyQt4 中打开另一个 window (.py 文件)后正确关闭 window / 小部件

How to close window / widget properly after opening another window (.py file) in pyQt4

def run(self, path):
    subprocess.call(['pythonw', path])

def login(self):
    members = {'sample': 'sample'}
    username = self.username.text()
    password = self.password.text()

    if username in members:
        enteredPass = members.get(username)
        if password == enteredPass:
            self.run('inventory.py')
            #app.instance().quit()
            sys.exit()
        else:
            self.username.clear()
            self.password.clear()
            print("Invalid username and password.")
    else:
        self.username.clear()
        self.password.clear()
        print("Invalid username and password.")

我想在用户输入正确的登录详细信息后关闭登录 window。 window 尝试关闭但死机并且没有响应。

我的问题是如何关闭登录表单而不使其无响应? (如果我的代码示例缺少您可以理解问题的地方,请告诉我。谢谢!)

调用函数等待 return 代码,因此强制关闭启动新应用程序的进程会产生该行为。您应该使用 Popen 而不是 call.

subprocess.Popen(['pythonw', path])