有沒有辦法讓同一個按鈕根據用戶從下拉選單中選擇的內容執行不同的操作?
例如,我嘗試了這個,但它不起作用:
from tkinter import *
from tkinter import ttk
root = Tk()
root.geometry("400x200")
def say_hello():
hello_label = Label(root, text= "Hello")
hello_label.grid(row=1, column=0, padx=10, pady=10)
def say_goodbye():
bye_label = Label(root, text= "Goodbye")
bye_label.grid(row=1, column=0, padx=10, pady=10)
do = ""
drop_table = ttk.Combobox(root, values=["Choose Action..", "Say Hello","Say Goodbye"])
drop_table.current(0)
drop_table.grid(row=0, column=0, padx=10, pady=10)
selected = drop_table.get()
if selected == "Say Hello":
do = say_hello
if selected == "Say Goodbye":
do = say_goodbye
button = Button(root, text= "Choose", command = do)
button.grid(row=0, column=2, padx=10, pady=10)
root.mainloop()
uj5u.com熱心網友回復:
您需要將按鈕鏈接到函式并將 if 陳述句包含在函式中。然后像這樣使用你的函式作為你的按鈕的命令。
from tkinter import *
from tkinter import ttk
root = Tk()
root.geometry("400x200")
def say_hello():
hello_label = Label(root, text= "Hello")
hello_label.grid(row=1, column=0, padx=10, pady=10)
def say_goodbye():
bye_label = Label(root, text= "Goodbye")
bye_label.grid(row=1, column=0, padx=10, pady=10)
do = ""
drop_table = ttk.Combobox(root, values=["Choose Action..", "Say Hello","Say Goodbye"])
drop_table.current(0)
drop_table.grid(row=0, column=0, padx=10, pady=10)
def action():
selected = drop_table.get()
if selected == "Say Hello":
say_hello()
if selected == "Say Goodbye":
say_goodbye()
button = Button(root, text= "Choose", command= action)
button.grid(row=0, column=2, padx=10, pady=10)
root.mainloop()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/477337.html
上一篇:如何制作自毀tkinter視窗?
下一篇:按鈕不顯示tkinter
