python - 来自函数内条目小部件的 Tkinter 输入
问题描述
我有一个程序,我从输入小部件中获取用户的输入,并根据输入执行功能。现在必须做什么才能在函数内从用户那里获取输入?
例如
- 如果用户在条目小部件中键入计算。
- 去计算()
- 在函数内部,它需要用户输入 2 个数字。如何使用以前使用的相同条目小部件从用户那里获取这些信息。
解决方案
这是尽可能简单的(不是最匹配主题的方式,但它有效):
from tkinter import Tk, Button, simpledialog
def calc():
x = simpledialog.askinteger('Calculation', 'Enter x')
y = simpledialog.askinteger('Calculation', 'Enter Y')
print(x + y)
root = Tk()
Button(root, text='Calculate', command=calc).pack()
root.mainloop()
为简单起见使用了按钮,但您应该了解如何按照您的方式执行此操作。另外,您打算在哪里返回该值?当然不能返回到command
参数等,取决于你如何设置它(如果你将返回的值分配给某个变量,那么可能没问题)
另外:
我强烈建议遵循PEP 8 - Style Guide for Python Code。函数名和变量名应在 中snake_case
,类名应在CapitalCase
. =
如果它用作关键字参数 ( func(arg='value')
) 的一部分,则周围没有空格,但如果=
它用于分配值 ( variable = 'some value'
),则周围有空格。在运算符周围留出空间(+-/
等value = x + y
:(此处除外value += x + y
))。在函数和类声明周围有两个空行。
推荐阅读
- raspberry-pi - 蚊子 + 树莓派 4 | 错误:设置 TLS 选项时出现问题
- python - ImportError:需要“pyparsing”包
- react-native - 无法从 ` 解析模块 `./index`:
- c - 从包含少量关键字的文件中删除行
- c++ - 如何使用对象制作分数列表并获得平均值
- java - 使用 Hashmap 来跟踪原始计数与否
- python - Kivy 中的 ProgressBar 不会更新 UI 上的值
- python - 文件关闭后留在内存中
- c# - C# mono:在不退出的情况下启动 bash 进程
- java - 如何编写 selenium java 代码来点击搜索结果?