在Tkinter中按下按钮时运行多个命令
按钮小部件提供了一种通过应用程序的所有现有功能进行通信的方式。我们可以使用按钮来执行某个操作,该按钮封装了函数和对象。但是,有些情况下我们希望使用单个按钮执行多个操作。这可以通过定义针对应用程序中多个事件或回调的Lambda函数来实现。
示例
在这个示例中,我们将向特定按钮添加多个事件。
# 导入Tkinter库
from tkinter import *
# 创建Tkinter Frame的实例
win = Tk()
# 设置窗口的大小
win.geometry("700x350")
# 定义函数
def display_msg():
label.config(text="编程语言排行榜")
def show_list():
listbox = Listbox(win, height=10, width=15, bg='灰色', activestyle='dotbox', font='aerial')
listbox.insert(1, "Go")
listbox.insert(1, "Java")
listbox.insert(1, "Python")
listbox.insert(1, "C++")
listbox.insert(1, "Ruby")
listbox.pack()
button.destroy()
# 创建一个Label小部件来显示消息
label = Label(win, text="", font=('aerial 18 bold'))
label.pack(pady=20)
# 定义一个Button小部件
button = Button(win, text="点击这里", command=lambda: [display_msg(), show_list()])
button.pack()
win.mainloop()
输出
运行以上代码将显示一个包含按钮的窗口。
当我们点击按钮时,它将同时执行两个任务。它将显示一个包含Label小部件和一组字符串列表的窗口。