【发布时间】:2014-10-30 14:34:12
【问题描述】:
我最近一直在从事一个项目,该项目必须使用 Python 开发一个简单的 GUI 应用程序。我正在考虑将表单大小设置为默认值,并遇到了 minsize 和 geometry 方法。
minsize 有两个参数表示高度和宽度。
geometry 采用单个字符串表示信息。
我想知道为什么会出现差异?是否有充分的理由说明单个字符串比 2 个(如果包含位置,则为 4 个)值更好的参数来表示大小?
谢谢!
编辑:所以 tkinter 包装了 tcl 函数。为什么tcl的差异? 谢谢大家
【问题讨论】:
-
因为
tkinterPython 库本质上只是从另一种名为Tcl的语言中获取了所有的GUI 工具。这就是Tcl接受参数的方式,所以 Python 也跟着效仿。这真是一个tcl 的问题。 -
这解释了 tkinter... 但只是将问题转移到 tcl.. 将更新标签
-
这是因为 Tcl 读取其源代码的方式不同。每种数据都可以用字符串表示,数字和字符串、列表和字符串没有区别。如果参数列表只是两个整数,则很容易将其转换为 Pythonesque 语法。几何参数列表更难翻译。
-
Tkinter 只是 Python 标准库中包含的嵌入式 Tcl/Tk 的浅包装。 Tkinter 的非 Pythonic 部分只是将字符串传递给内部 Tcl 解释器。 Pythonic 部分正在构建命令字符串并以相同的方式发送它们。您甚至可以在 Python 中创建 Tcl 实例,而无需调用 Tk。
-
感谢您的回答,将不得不在某个时候检查 Tcl! :)