Tkinter通过选中Checkbuttons

问题描述

我正在构建一个脚本来创建一个GUI窗口,以显示我之前做过的一些功能

我想勾选要运行功能的按钮。 到目前为止,我可以通过选中复选框来运行功能。但是只有一个

button1 = ttk.Checkbutton(window,command = function1
    )

但是我有几个检查按钮,最后还有一个“运行”按钮,用于运行上面检查的所有功能

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窗口,但找不到解决方案。

提前谢谢!

解决方法

请检查执行硬编码的加,减,乘,删除功能的代码段。

  1. 当您选中复选框时,将触发相应的功能。
  2. 单击运行按钮时,将触发所有功能。
  3. 单击运行按钮后,将打印输出,同时关闭tkinter窗口。
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,variable=var1).grid(row=1,variable=var2).grid(row=2,variable=var3).grid(row=3,variable=var4).grid(row=4,pady=4)
mainloop()

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...