第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過按鈕調(diào)用函數(shù)時出現(xiàn) Tkinter 錯誤

通過按鈕調(diào)用函數(shù)時出現(xiàn) Tkinter 錯誤

千巷貓影 2023-09-12 16:47:25
因此,我嘗試在 tkinter 中使用一些條目小部件,然后使用同時執(zhí)行多個 .get() 命令的函數(shù)。但是,我收到一個錯誤,即該函數(shù)未定義,即使它們位于同一類中。這是代碼示例:def GetSubjects():        subject1 = subject1entry.get()        subject2 = subject2entry.get()        subject3= subject3entry.get()subjectConfirm.grid(row=3, column=0, command=GetSubjects)正如我所說,它們都在同一類中,但按鈕無法調(diào)用該函數(shù)。我對 tkinter 和這個網(wǎng)站比較陌生,所以如果這是簡單的事情請原諒我,但我在其他地方找不到解決方案。編輯:這是整個課程,我知道我的代碼可能非常次優(yōu),但這是我嘗試過的第一個大型項目class Menu:    def __init__(self, master):        frame = tk.LabelFrame(master, text="Main Menu", padx=100, pady=10)        frame.grid(row=0, column=0, padx=15, pady=15)        # Create timetable button        createTimetable = tk.Button(frame, text="Create Timetable", command=self.CreateTimetable)        createTimetable.grid(row=0, column=0)        # Exit program button        exitProgram = tk.Button(frame, text="Exit Program", command=self.CloseWindow)        exitProgram.grid(row=1, column=0)    def CloseWindow(self):        root.destroy()    def GetSubjects():        subject1 = subject1entry.get()        subject2 = subject2entry.get()        subject3 = subject3entry.get()    def CreateTimetable(self):        tableWindow = tk.Toplevel(root)        tableWindow.title('Timetable Maker Window')        tableWindow.geometry("800x500+400+200")        # Subject labels        subjectlabel1 = tk.Label(tableWindow, text="Enter your first subject:")        subjectlabel2 = tk.Label(tableWindow, text="Enter your second subject:")        subjectlabel3 = tk.Label(tableWindow, text="Enter your third subject:")        # Subject entry boxes        subject1entry = tk.Entry(tableWindow)        subject2entry = tk.Entry(tableWindow)        subject3entry = tk.Entry(tableWindow)        # Puts subject entry boxes on screen        subject1entry.grid(row=0, column=1)        subject2entry.grid(row=1, column=1)        subject3entry.grid(row=2, column=1)        # Puts subject labels on screen
查看完整描述

1 回答

?
精慕HU

TA貢獻1845條經(jīng)驗 獲得超8個贊

你的GetSubjects()方法應(yīng)該是這樣的


def GetSubjects(self):

    subject1 = self.subject1entry.get()

    subject2 = self.subject2entry.get()

    subject3 = self.subject3entry.get()

你的CreateTimetable方法應(yīng)該看起來像這樣(不完整但給你正確的想法)


def CreateTimetable(self):

    # Code removed for clarity

    self.subject1entry = tk.Entry(tableWindow)

    self.subject2entry = tk.Entry(tableWindow)

    self.subject3entry = tk.Entry(tableWindow)

按鈕的回調(diào)應(yīng)該如下所示


subjectConfirm = tk.Button(tableWindow,text="Press to confirm subjects", command=self.GetSubjects)

屬性/方法需要成為Menu類的一部分,因此您可以用來self.告訴 python 為當(dāng)前類創(chuàng)建這些屬性(self 是典型約定,但只要保持一致,就可以是任何內(nèi)容)。


哦,這些print(subject1)部分需要位于GetSubjects方法的末尾,而不是當(dāng)前所在的位置。


查看完整回答
反對 回復(fù) 2023-09-12
  • 1 回答
  • 0 關(guān)注
  • 95 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號