Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

รันคำสั่งหลายอย่างเมื่อกดปุ่มใน Tkinter


Button widget ให้วิธีสื่อสารผ่านฟังก์ชันทั้งหมดของแอปพลิเคชัน เราสามารถดำเนินการบางอย่างด้วยปุ่มที่ห่อหุ้มฟังก์ชันและออบเจกต์ อย่างไรก็ตาม อาจมีกรณีที่เราต้องการดำเนินการหลายอย่างด้วยปุ่มเดียว สามารถทำได้โดยการกำหนด lambda functions ที่เป้าหมายหลายอีเวนต์หรือ callback ในแอปพลิเคชัน

ตัวอย่าง

ในตัวอย่างนี้ เราจะเพิ่มหลายอีเวนต์ให้กับปุ่มเฉพาะ

# นำเข้าไลบรารี Tkinter
from tkinter import *

# สร้างอินสแตนซ์ของ Tkinter Frame
win = Tk()
# กำหนดขนาดของหน้าต่าง
win.geometry("700x350")

# กำหนดฟังก์ชัน
def display_msg():
    label.config(text="Top List of Programming Language")

def show_list():
    listbox = Listbox(win, height=10, width=15, bg='grey', 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 widget เพื่อแสดงข้อความ
label = Label(win, text="", font=('aerial 18 bold'))
label.pack(pady=20)

# กำหนด Button widget
button = Button(win, text="Click Here", command=lambda: [display_msg(), show_list()])
button.pack()

win.mainloop()

ผลลัพธ์

การรันโค้ดจะแสดงหน้าต่างที่มีปุ่ม

รันคำสั่งหลายอย่างเมื่อกดปุ่มใน Tkinter

เมื่อคลิกปุ่ม จะดำเนินการสองงานพร้อมกัน แสดงหน้าต่างที่มี Label widget และรายการสตริง

รันคำสั่งหลายอย่างเมื่อกดปุ่มใน Tkinter