【问题标题】:How to run command if checkbox is ticked如果勾选复选框,如何运行命令
【发布时间】:2022-11-14 23:13:17
【问题描述】:

如果勾选了复选框,我想在命令中执行一个额外的功能,如果没有勾选,那么我不希望我的程序执行它,我该怎么做?

即,如果勾选了复选框,我想执行 CreateWallet Function,但是,我不想禁用 addchrome() 之一!

提前致谢!

from tkinter import *
from lib.SUI import WizardLand, RequestTokens, ExampleNFT, addchrome, CreateWallet

root = Tk()
root.title('Tool')
root.state('zoomed')

button_quit = Button(
        root,
        text="Exit Program",
        command=root.quit
)


button1 = Button(
        root,
        text="Start",
        command=lambda: [
                addchrome(),
                CreateWallet()]
)


#Options
var = IntVar()
opt1 = Checkbutton(
        root,
        text = "Create Wallet",
        variable=var
)

【问题讨论】:

  • 首先,您需要放弃使用带有列表的lambda 来执行多个功能的丑陋技巧。如果 Button 的 command= 引用了一个普通函数,用 def 定义,那么您可以简单地使用 if 语句(以及 Python 语言的所有其他功能)来使事情有条件地发生。

标签: python tkinter


【解决方案1】:

定义一个可以被button1调用的包装函数来执行addChrome,并有条件地执行CreateWallet

def on_button_press():
    is_checked = var.get()
    addChrome()
    if is_checked:
        CreateWallet()


button1 = Button(
    root,
    text="Start",
    command=on_button_press  # call that function
)

#Options
var = IntVar()
opt1 = Checkbutton(
    root,
    text="Create Wallet",
    variable=var
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-26
    • 2011-06-20
    • 1970-01-01
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多