簡體   English   中英

Python TKinter GUI

[英]Python TKinter GUI

我正在制作有關電子學習的應用程序。 在此特定頁面上,我希望能夠為用戶提供按鈕,以從簡單,中等和困難中選擇難度級別。 按下按鈕后,用戶將進入下一頁EasyLevel,ModerateLevel或HardLevel。 如何修正我的密碼?

import Tkinter
   LevelBox = Tkinter.Tk()
   LevelBox.geometry("320x260")
   LevelBox.title("Diffuculty")
   LevelBox.withdraw()

   def Easy() :
    LevelBox.withdraw()
    easybox.deiconify()
    return

   def Moderate() :
    LevelBox.withdraw()
    moderatebox.deiconify()
    return

   def Hard() :
    LevelBox.withdraw()
    hardbox.deiconify()
    return

   b1 = Tkinter.Button (LevelBox, text="Easy",         command=Easy,height=1,width=7).grid(row=1,column=1,sticky="e",pady=5,padx=5)
   b1 = Tkinter.Button (LevelBox, text="Moderate", command=Moderate,height=1,width=7).grid(row=1,column=3,sticky="w",pady=5,padx=5)
   b1 = Tkinter.Button (LevelBox, text="Hard", command=Hard,height=1,width=7).grid(row=2,column=1,sticky="e",pady=5,padx=5)

   easybox = Tkinter.Toplevel()
   easybox.geometry("320x260")
   easybox.title("Easy Questions")
   easybox.withdraw()

   moderatebox = Tkinter.Toplevel()
   moderatebox.geometry("320x260")
   moderatebox.title("Moderate Questions")
   moderatebox.withdraw()

   hardbox = Tkinter.Toplevel()
   hardbox.geometry("320x260")
   hardbox.title("Hard Questions")
   hardbox.withdraw()

實際上,您需要在代碼中遵循oops概念,只需創建一個類,然后在其初始化中編寫您的第一個UI代碼,然后單擊按鈕就可以打開另一個窗口,然后關閉最后一個。

像這樣的代碼寫成:

import Tkinter as tk

class MainWindow(tk.Frame):
    counter = 0
    def __init__(self, *args, **kwargs):
        tk.Frame.__init__(self, *args, **kwargs)
        self.button = tk.Button(self, text="Create new window", 
                                command=self.create_window)
        self.button.pack(side="top")

    def create_window(self):
        self.counter += 1
        t = tk.Toplevel(self)
        t.wm_title("Window #%s" % self.counter)
        l = tk.Label(t, text="This is window #%s" % self.counter)
        l.pack(side="top", fill="both", expand=False, padx=100, pady=100)

if __name__ == "__main__":
    root = tk.Tk()
    main = MainWindow(root)
    main.pack(side="top", fill="both", expand=False)
    root.geometry('300x200')
    root.attributes("-toolwindow", 1)
    root.mainloop()

暫無
暫無

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

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