对于我的程序,我将tkinter用于GUI。在程序启动之前,我要输入密码。我使用了input()函数。在jupyter笔记本中运行代码时,一切正常。因此,我使用pyinstaller创建了可执行文件,但是双击该文件将无法启动并要求输入。由于我经常使用pyinstaller,所以我认为创建exe文件不会失败,所以我的猜测是问题出在input()函数之内。有没有其他方法可以要求用户输入?
我尝试通过Toplevel创建带有条目窗口小部件的窗口,但我不确定如何实现它,因为我想在输入密码后启动程序。
我的相关代码:
if __name__=='__main__':
root = tkinter.Tk()
asd = input("Enter the password:")
if asd == str(12345):
app = GUI(master=root)
app.master.title("Programm Links")
app.master.minsize(600,400)
root.config(menu=app.menubar)
app.center(root)
app.mainloop()
else:
root.destroy()
答案 0 :(得分:1)
因此,借助对我的问题的评论,我得到了答案:
import tkinter
from tkinter import messagebox
from tkinter import simpledialog
if __name__=='__main__':
root = tkinter.Tk()
root.withdraw()
asd = tkinter.simpledialog.askstring("Password","Enter the password:")
if asd == str(12345):
app = GUI(master=root)
app.master.title("Programm Links")
app.master.minsize(600,400)
root.config(menu=app.menubar)
app.center(root)
app.mainloop()
else:
messagebox.showwarning("WRONG PASSWORD","You entered a wrong password")
root.destroy()
这将创建一个对话框,要求用户输入。 root.withdraw()隐藏对话框运行所需的root = tkinter.Tk()创建的根窗口框架。