Кнопка Python Tkinter с операторами If Else
Я хочу связать Start_Button
с 2 возможными функциями:
Если Choice_1_Button
нажимается, а затем Start_Button
, Start_Button
должен позвонить foo1
, Но когда пользователь нажимает Choice_2_Button
то же самое Start Button
должен позвонить foo2
,
Вот код, который у меня сейчас есть:
from tkinter import *
root=Tk()
Choice_1_Button=Button(root, text='Choice 1', command=something) #what should it do?
Choice_2_Button=Button(root, text='Choice 2', command=something_else)
Start_Button=Button(root, text='Start', command=if_something) #and what about this?
Кто-нибудь знает что something
, something_else
а также if-something
следует сделать?
1 ответ
Следующий код отслеживает то, что они нажали:
choice=None
def choice1():
global choice
choice='Choice 1'
def choice2():
global choice
choice='Choice 2'
def start():
global choice
if choice=='Choice 1':
foo1()
elif choice=='Choice 2':
foo2()
else:
#do something else since they didn't press either
Проходить choice1
как команда для Choice_1_Button
, choice2
как команда для Choice_2_Button
, а также start
за Start_Button
,
Если вы хотите использовать переключатели, это облегчит:
def start(choice):
if choice=='Choice 1':
foo1()
elif choice=='Choice 2':
foo2()
else:
#do something else since they didn't press either
var=StringVar(root)
var.set(None)
Radiobutton(root, text='Choice 1', value='Choice 1', variable=var).pack()
Radiobutton(root, text='Choice 2', value='Choice 2', variable=var).pack()
Button(self.frame, text='Start', command=lambda: start(var.get())).pack()