单击Tkinter按钮时运行两个命令

0 投票
1 回答
2840 浏览
提问于 2025-04-18 08:35

我想要一个Tkinter的按钮,点击后可以清空我当前的网格(Grid),同时还要调用一个函数,但我不知道该怎么做。我有一个网格是菜单,在另一个函数里有我点击按钮后打开的代码。

简单来说,我想要一个按钮,点击后能执行这两个操作:self.studyGuideself.frame.grid_forget

这是我的代码:

from tkinter import *

class App:
    def __init__(self,master):

        frame = Frame(master)
        frame.grid()

        self.sg = Button(frame, text = "Study Guide", command = self.buttonStart, fg="red")
        self.sg.grid(row = 2, column = 1)

        self.quizlet = Button(frame, text = "Quizlet", command = self.quizlet)
        self.quizlet.grid(row = 2, column = 2)

        self.flashcard = Button(frame, text = "Flash Cards", command = self.flashcard)
        self.flashcard.grid(row = 2, column = 3)

        self.quitButton = Button(frame, text = "Quit", command = frame.quit)
        self.quitButton.grid(row = 3, column = 2)

        self.text = Label(frame, text = "Social Studies Study Tool")
        self.text.grid(row = 1, column = 2)

        def buttonStart(frame):
        self.studyGuide()
        self.frame.grid_forget()

   def studyGuide(self):
        studyGuide = Frame()
        studyGuide.pack()

        self.sgText = Label(studyGuide, text = "This is not real.")
        self.sgText.pack()
def quizlet(self):
        print("Quizlet")

def flashcard(self):
        print("Flashcards")

root = Tk()

app = App(root)
root.mainloop()

1 个回答

2

简单来说,就是让传给Button构造函数的回调函数去调用另外两个函数:

def foo(self):
    self.studyGuide()
    self.frame.grid_forget()

root = Tk()
my_button = Button(root, text="I'm doing stuff", command=foo)

撰写回答