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.")
我想在用户输入正确的登录详细信息后关闭登录窗口。窗口试图关闭但冻结并变得无法响应。
我的问题是如何关闭“登录”表单而不会导致其无法响应? (如果我的代码示例缺少您可以理解问题的地方,请告诉我。谢谢!)
答案 0 :(得分:1)
call函数等待返回代码,因此强制关闭启动新应用程序的进程会生成该行为。您应该使用Popen
代替call
。
subprocess.Popen(['pythonw', path])