我正在嘗試獲取輸入的資訊,例如成績和注釋。對于成績,我正在使用 OptionMenu,它列印完美,但我的筆記 (biljeska) 不會列印任何東西
代碼示例:
import tkinter as tk
import datetime
dt = datetime.datetime.today()
class OdabirRazreda():
def __init__(self):
self.window2 = tk.Tk()
g=tk.Button(self.window2,command=self.unos)
g.pack()
self.ocjena = tk.StringVar()
self.razred=tk.StringVar()
self.biljeska=tk.StringVar()
self.ucenik=tk.StringVar()
self.window2.mainloop()
def unos(self):
self.window2.withdraw()
self.window4 = tk.Tk()
lbl_ocjena = tk.Label(self.window4, text="Ocjena")
self.lbl_biljeska = tk.Label(self.window4, text="Bilje?ka:")
lbl_ocjena.grid(row=0, column=0, sticky=tk.W, pady=2)
self.lbl_biljeska.grid(row=1, column=0, sticky=tk.W, pady=2)
ent_ocjena = tk.OptionMenu(self.window4, self.ocjena, "1", "2", "3","4","5")
ent_ocjena.grid(row=0, column=1, pady=2, )
ent_biljeska = tk.Entry(master=self.window4,textvariable=self.biljeska)
ent_biljeska.grid(row=1, column=1, pady=2)
btn_unesi = tk.Button(self.window4, text='Unesi',command=self.ispis)
btn_unesi.grid(row=3, column=1,pady=2)
self.window4.mainloop()
def ispis(self):
print(dt.day,dt.month,self.ocjena.get(),self.biljeska.get())
OdabirRazreda()
uj5u.com熱心網友回復:
在 tkinter 中,mainloop 方法很復雜,我很少使用您的代碼,但輸出沒有得到預期,但是,很少轉換到框架方法,它作業得很好,如果有用的話可以通過幾乎沒有修改的代碼
import tkinter as tk
import datetime
dt = datetime.datetime.today()
class OdabirRazreda():
def __init__(self):
self.root = tk.Tk()
self.window2 = tk.Frame(self.root)
self.window2.pack()
g = tk.Button(self.window2, command=self.unos,)
g.pack()
self.ocjena = tk.StringVar()
self.razred = tk.StringVar()
self.biljeska = tk.StringVar()
self.ucenik = tk.StringVar()
self.root.mainloop()
def unos(self):
self.window2.pack_forget() # 'can call destroy() also if no use in further'
self.window4 = tk.Frame()
self.window4.pack()
lbl_ocjena = tk.Label(self.window4, text="Ocjena")
self.lbl_biljeska = tk.Label(self.window4, text="Bilje?ka:")
lbl_ocjena.grid(row=0, column=0, sticky=tk.W, pady=2)
self.lbl_biljeska.grid(row=1, column=0, sticky=tk.W, pady=2)
ent_ocjena = tk.OptionMenu(self.window4, self.ocjena, "1", "2", "3", "4", "5")
ent_ocjena.grid(row=0, column=1, pady=2, )
ent_biljeska = tk.Entry(master=self.window4, textvariable=self.biljeska)
ent_biljeska.grid(row=1, column=1, pady=2)
btn_unesi = tk.Button(self.window4, text='Unesi', command=self.ispis)
btn_unesi.grid(row=3, column=1, pady=2)
def ispis(self):
print(dt.day, dt.month, self.ocjena.get(), self.biljeska.get())
OdabirRazreda()
剛剛為兩個視窗創建了框架,并且回圈被分配給主視窗作為根...
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/486918.html
