Tkinter Root Window Withdraw()后消失
Tkinter Root Window Disappeared after Withdraw()
我正在编写一个程序,该程序使用文件浏览器打开文件并将其作为路径存储在变量中。我想在选择文件路径之前隐藏根 window。但是在我调用 root.withdraw() 方法后
我试过在文件路径方法之后调用 root.deiconify() 和 root.iconify() 我也试过使用 Toplevel 方法但是似乎 window 已经完全消失了从屏幕和任务栏。
root = tk.Tk()
root.winfo_toplevel()
root.withdraw()
filePath = filedialog.askopenfilename(initialdir="~/", title="Select file")
root.update()
fileSize = os.path.getsize(filePath)
print("File selected: " + filePath)
print("\nfile is: " + str(fileSize) + " bytes\n")
#.............................................................
root.deiconify()
button1 = (root, text="SHA256", command=SHA256(filePath))
button1.pack()
fileType = input("specify checksum type: " + "(ex. md5, sha1, sha256)" + "\n")
if fileType.lower() == "md5":
message = MD5(filePath)
print("MD5:\n" + message + "\n")
elif fileType.lower() == "sha256":
message = SHA256(filePath)
print("SHA256:\n" + message + "\n")
elif fileType.lower() == "sha1":
message = SHA1(filePath)
print("SHA1:\n" + message + "\n")
elif fileType.lower() not in hashTypes:
print("Invalid file type \n\n")
未显示任何错误,根 window 已完全消失,无法重新显示。
这两个一起:
root.update()
root.deiconify()
是在 withdraw
调用后恢复 root 的正确方法。您可能遇到一个问题,即您的程序没有主循环 - 将一些按钮绑定到 root.destroy 并在最后调用 root.mainloop()。
我正在编写一个程序,该程序使用文件浏览器打开文件并将其作为路径存储在变量中。我想在选择文件路径之前隐藏根 window。但是在我调用 root.withdraw() 方法后
我试过在文件路径方法之后调用 root.deiconify() 和 root.iconify() 我也试过使用 Toplevel 方法但是似乎 window 已经完全消失了从屏幕和任务栏。
root = tk.Tk()
root.winfo_toplevel()
root.withdraw()
filePath = filedialog.askopenfilename(initialdir="~/", title="Select file")
root.update()
fileSize = os.path.getsize(filePath)
print("File selected: " + filePath)
print("\nfile is: " + str(fileSize) + " bytes\n")
#.............................................................
root.deiconify()
button1 = (root, text="SHA256", command=SHA256(filePath))
button1.pack()
fileType = input("specify checksum type: " + "(ex. md5, sha1, sha256)" + "\n")
if fileType.lower() == "md5":
message = MD5(filePath)
print("MD5:\n" + message + "\n")
elif fileType.lower() == "sha256":
message = SHA256(filePath)
print("SHA256:\n" + message + "\n")
elif fileType.lower() == "sha1":
message = SHA1(filePath)
print("SHA1:\n" + message + "\n")
elif fileType.lower() not in hashTypes:
print("Invalid file type \n\n")
未显示任何错误,根 window 已完全消失,无法重新显示。
这两个一起:
root.update()
root.deiconify()
是在 withdraw
调用后恢复 root 的正确方法。您可能遇到一个问题,即您的程序没有主循环 - 将一些按钮绑定到 root.destroy 并在最后调用 root.mainloop()。