簡體   English   中英

繪制一個覆蓋Tkinter中另一個GUI的GUI

[英]Draw a GUI that overrides another GUI in Tkinter

我正在用Raspberry屏幕編寫GUI,每次銷毀一個GUI並調用一個新的GUI時,都會有大約幾秒鍾的延遲,以使用戶能夠看到樹莓派的桌面。 我想在后台繪制一個加載界面,以便在切換屏幕時用戶不會看到樹莓派桌面。 我使用以下代碼:

from tkinter import *

class Load_Screen:

    def __init__(self, master):
        self.master = master
        self.master.configure(background='white')
        self.frame = Frame(self.master)
        self.frame.pack()

        self.canvas = Canvas(self.frame, width = 350, height = 250)
        self.canvas.configure(background='white')
        self.canvas.pack()

        self.img = PhotoImage(file="image/loading.png")
        self.canvas.create_image(55,150, anchor=W, image=self.img)

        newWindow = Toplevel(self.master)
        newWindow.geometry("700x500")
        app = Main_Screen(newWindow)

class Main_Screen:

    def __init__(self, master):
        self.master = master
        self.frame = Frame(self.master)
        self.frame.pack()

def main(): 
    root = Tk()
    root.geometry("760x600")
    app = Load_Screen(root)

    root.mainloop()

if __name__ == '__main__':
    main()

但是,加載屏幕將覆蓋主屏幕。 我要相反的是底部的加載屏幕和上方的主屏幕

這是我在如何使Tkinter窗口跳到最前面的解決方案?

from tkinter import *

class Load_Screen:

    def __init__(self, master):
        self.master = master
        self.master.configure(background='white')
        self.frame = Frame(self.master)
        self.frame.pack()

        self.canvas = Canvas(self.frame, width = 350, height = 250)
        self.canvas.configure(background='white')
        self.canvas.pack()

        self.img = PhotoImage(file="image/loading.png")
        self.canvas.create_image(55,150, anchor=W, image=self.img)

        newWindow = Toplevel(self.master)
        newWindow.geometry("700x500")
        app = Main_Screen(newWindow)

class Main_Screen:

    def __init__(self, master):
        self.master = master
        self.frame = Frame(self.master)
        self.frame.pack()

def main(): 
    root = Tk()
    root.geometry("760x600")
    root.lift()
    app = Load_Screen(root)

    root.mainloop()

if __name__ == '__main__':
    main()

使用root.lift()使Load_Screen位於Main_Screen下面

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM