[英]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.