为了账号安全,请及时绑定邮箱和手机立即绑定

Tkinter 通过检查检查按钮来运行多个功能

Tkinter 通过检查检查按钮来运行多个功能

拉风的咖菲猫 2023-07-18 09:49:56
我正在构建一个脚本来制作一个 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 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

请检查此代码片段,它执行硬编码的加、减、乘、删除函数。

  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, 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()


查看完整回答
反对 回复 2023-07-18
  • 1 回答
  • 0 关注
  • 113 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信