我使用 Tkinter、Python 创建了一个工作 GUI 界面。加载 GUI 需要一两个小步舞曲,我的问题如下:
当 python 在 GUI 上执行加载时是否可以显示图像?
非常感谢您的帮助。
最佳答案
正如评论中所建议的,您可以使用 TopLevel 来显示另一个窗口。
您可以使用<NameOfYourTopLevel>.overrideredirect(1)
隐藏窗框。
您也可以考虑使用.after_idle(<callback>)
GUI 完成加载后关闭窗口。
这是更完整的示例。我无法复制绘制 GUI 时的大延迟,因此使用 self.after(5000,self.splash.destroy)
进行了模拟。您应该可以将其替换为 self.after_idle(self.splash.destroy)
try:
import tkinter as tk
except:
import Tkinter as tk
class App(tk.Frame):
def __init__(self,master=None,**kw):
self.splash = Splash(root)
tk.Frame.__init__(self,master=master,**kw)
tk.Label(self,text="MainFrame").grid()
self.after(5000,self.splash.destroy)
class Splash(tk.Toplevel):
def __init__(self,master=None,**kw):
tk.Toplevel.__init__(self,master=master,**kw)
tk.Label(self,text="Show Image here").grid()
self.overrideredirect(1)
if __name__ == '__main__':
root = tk.Tk()
App(root).grid()
root.mainloop()
This question将告诉您如何将窗口置于屏幕中央。
关于python - 在 Python GUI 加载时显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40765464/