Tkinter 运行 通过检查 Checkbuttons 实现多种功能
Tkinter run multiple functions by checking the Checkbuttons
我正在构建一个脚本来制作 GUI window 展示我之前制作的一些功能。
我想勾选我想要 运行 功能的按钮。
到目前为止,我可以通过选中复选框来 运行 一个函数。但只有一个。
button1 = ttk.Checkbutton(window,
command = function1
)
但我有几个检查按钮,最后 'Run' 按钮到 运行 上面检查的所有功能。
button1 = ttk.Checkbutton(window,
)
button2 = ttk.Checkbutton(window,
)
button3 = ttk.Checkbutton(window,
)
run_button = ttk.Button(window,
text = 'run',
command = proper command to run the functions ticked above
)
有什么方法可以实现吗?
- 此外,我想在点击 运行 按钮后关闭 GUI window,但还找不到解决方案。
提前致谢!!
请检查这个执行硬编码加、减、乘、删除函数的片段。
- 勾选复选框时会触发相应的功能。
- 当您点击运行按钮时,将触发所有功能。
- 单击 运行 按钮后将打印输出,同时关闭 tkinter window。
from tkinter import *
master = Tk()
def run_all():
var1.set(1)
var2.set(1)
var3.set(1)
var4.set(1)
ad()
sub()
mul()
div()
master.destroy()
def ad():
if(var1.get()==1):
print(5+5)
def sub():
if(var2.get()==1):
print(5-5)
def mul():
if(var3.get()==1):
print(5*5)
def div():
if(var4.get()==1):
print(5/5)
Label(master, text="Operations:").grid(row=0, sticky=W)
var1 = IntVar()
Checkbutton(master, text="Add", variable=var1,command=ad).grid(row=1, sticky=W)
var2 = IntVar()
Checkbutton(master, text="Subtract", variable=var2,command=sub).grid(row=2, sticky=W)
var3 = IntVar()
Checkbutton(master, text="Multiply", variable=var3,command=mul).grid(row=3, sticky=W)
var4 = IntVar()
Checkbutton(master, text="Divide", variable=var4,command=div).grid(row=4, sticky=W)
Button(master, text='Run', command=run_all).grid(row=5, sticky=W, pady=4)
mainloop()
编辑:
根据评论,现在只有当您按下 运行 按钮
时,所有功能才会 运行
Label(master, text="Operations:").grid(row=0, sticky=W)
var1 = IntVar()
Checkbutton(master, text="Add", variable=var1).grid(row=1, sticky=W)
var2 = IntVar()
Checkbutton(master, text="Subtract", variable=var2).grid(row=2, sticky=W)
var3 = IntVar()
Checkbutton(master, text="Multiply", variable=var3).grid(row=3, sticky=W)
var4 = IntVar()
Checkbutton(master, text="Divide", variable=var4).grid(row=4, sticky=W)
Button(master, text='Run', command=run_all).grid(row=5, sticky=W, pady=4)
mainloop()
我正在构建一个脚本来制作 GUI window 展示我之前制作的一些功能。
我想勾选我想要 运行 功能的按钮。 到目前为止,我可以通过选中复选框来 运行 一个函数。但只有一个。
button1 = ttk.Checkbutton(window,
command = function1
)
但我有几个检查按钮,最后 'Run' 按钮到 运行 上面检查的所有功能。
button1 = ttk.Checkbutton(window,
)
button2 = ttk.Checkbutton(window,
)
button3 = ttk.Checkbutton(window,
)
run_button = ttk.Button(window,
text = 'run',
command = proper command to run the functions ticked above
)
有什么方法可以实现吗?
- 此外,我想在点击 运行 按钮后关闭 GUI window,但还找不到解决方案。
提前致谢!!
请检查这个执行硬编码加、减、乘、删除函数的片段。
- 勾选复选框时会触发相应的功能。
- 当您点击运行按钮时,将触发所有功能。
- 单击 运行 按钮后将打印输出,同时关闭 tkinter window。
from tkinter import *
master = Tk()
def run_all():
var1.set(1)
var2.set(1)
var3.set(1)
var4.set(1)
ad()
sub()
mul()
div()
master.destroy()
def ad():
if(var1.get()==1):
print(5+5)
def sub():
if(var2.get()==1):
print(5-5)
def mul():
if(var3.get()==1):
print(5*5)
def div():
if(var4.get()==1):
print(5/5)
Label(master, text="Operations:").grid(row=0, sticky=W)
var1 = IntVar()
Checkbutton(master, text="Add", variable=var1,command=ad).grid(row=1, sticky=W)
var2 = IntVar()
Checkbutton(master, text="Subtract", variable=var2,command=sub).grid(row=2, sticky=W)
var3 = IntVar()
Checkbutton(master, text="Multiply", variable=var3,command=mul).grid(row=3, sticky=W)
var4 = IntVar()
Checkbutton(master, text="Divide", variable=var4,command=div).grid(row=4, sticky=W)
Button(master, text='Run', command=run_all).grid(row=5, sticky=W, pady=4)
mainloop()
编辑: 根据评论,现在只有当您按下 运行 按钮
时,所有功能才会 运行Label(master, text="Operations:").grid(row=0, sticky=W)
var1 = IntVar()
Checkbutton(master, text="Add", variable=var1).grid(row=1, sticky=W)
var2 = IntVar()
Checkbutton(master, text="Subtract", variable=var2).grid(row=2, sticky=W)
var3 = IntVar()
Checkbutton(master, text="Multiply", variable=var3).grid(row=3, sticky=W)
var4 = IntVar()
Checkbutton(master, text="Divide", variable=var4).grid(row=4, sticky=W)
Button(master, text='Run', command=run_all).grid(row=5, sticky=W, pady=4)
mainloop()