如何在Python+Tkinter中获得一个菜单checkbutton来调用函数?

2024-10-01 17:21:46 发布

您现在位置:Python中文网/ 问答频道 /正文

所以,我现在正在做一个关于python+tkinter的个人项目(我自己试试看)。它是一个加密程序,这意味着它获取一段文本并使用一些著名的密码(如数字密码、凯撒密码等)对其进行加密。
现在,我想让用户选择保存他加密的文本,以及程序生成的加密文本。为此,我在程序菜单上创建了两个复选按钮:一个用于“保存文本”,另一个用于“保存加密文本”。我的问题是,我试图附加一个函数作为它的命令选项,所以,我想它应该在单击该选项时运行该函数。但这并没有发生。
我只解释一下函数在传递代码之前应该做什么。
他们应该提出一个问题,询问用户他/她是否真的想用文本和加密文本创建一个文本文件(这不是一个数据库,如果用户愿意的话,它只是为了让用户以后能够阅读他/她加密的文本和加密的版本)。 所以,对于代码:

encryptermenu = Menu(menubar, tearoff=0)
encryptermenu.add_checkbutton(label="Save Text", variable=v, command=saveText)
encryptermenu.add_checkbutton(label="Save Encrypted Text", variable=w, command=saveEncryptedText)
menubar.add_cascade(label="Encrypter", menu=encryptermenu)

复选按钮选项,现在的功能:

^{pr2}$

checkbutton是真的在click上运行函数还是我只是在搞混? 不管怎样,希望有人能帮助我。在


Tags: 函数代码text用户文本程序add密码
2条回答

要回答您的特定问题,是的,当您单击check按钮时将调用该函数。在

您应该调用add_command,而不是菜单上的add_checkbutton。使用checkbutton从菜单调用函数是非常不寻常的,并且可能会使用户感到困惑。在

Checkbutton菜单绝对可以调用一个函数。这就是checkbutton选项的作用:)

我通常使用2个函数来处理来自checkbutton菜单的呼叫。在

首先创建该菜单并将其分配给一个布尔变量

yesno = BooleanVar(root)
mymenu.add_checkbutton(label="Do this ?", variable=yesno, command=mytoggle)

那么您需要两个函数: 1) 要切换的一个回调 2) 一个来处理是的

^{2}$

相关问题 更多 >

    热门问题