可爱的 Python:Python 中的 TK编程
2007-03-29 12:06:29 来源:WEB开发网核心提示: 获得用户输入下面将看到的示例演示 Label 小窗口部件 widget 如何显示输入(有关 Text 和 Message 小窗口部件的某些示例的完整资源,请参阅 参考资料 ),可爱的 Python:Python 中的 TK编程(6),字段输入的基本小窗口部件是 Entry,它易于使用,略微
获得用户输入
下面将看到的示例演示 Label 小窗口部件 widget 如何显示输入(有关 Text 和 Message 小窗口部件的某些示例的完整资源,请参阅 参考资料 )。字段输入的基本小窗口部件是 Entry。它易于使用,但是如果以前曾使用过 Python 的 raw_input() 或 curses 的 .getstr() ,您将发现技巧略有不同。TK 的 Entry 小窗口部件不返回可分配的值。相反,它获取自变量来填充字段对象。例如,下面的函数允许用户指定输入文件。
接受用户字段输入
def GetSource():
get_window = Tkinter.Toplevel(root)
get_window.title('Source File?')
Tkinter.Entry(get_window, width=30,
textvariable=source).pack()
Tkinter.Button(get_window, text="Change",
command=lambda: update_specs()).pack()
这里有几件事要注意。我们为这个输入创建了一个新的 Toplevel 小窗口部件和对话框,并且通过创建一个带有 textvariable 自变量的 Entry 小窗口部件指定了输入字段。但是等一下,还有件事!
textvariable 自变量没有指定简单的字符串变量。相反,它引用一个 StringVar 对象。在我们的示例中,从 main() 调用的 init_vars() 函数包含三行。
source = Tkinter.StringVar()
source.set('txt2html.txt')
这创建了一个适用于用户输入的对象并为其分配了初始值。每次在与之相链接的 Entry 小窗口部件中进行更改时都立即修改该对象。每次在 Entry 小窗口部件中击键、而不是读取终止时,都进行 raw_input() 样式的更改。
要想获得户输入的值,我们使用 StringVar 实例的 .get() 方法。例如:
source_string = source.get()
结束语
此处所略述的技巧以及我们在完整的应用程序源代码中使用的技巧应该足以使您开始进行 Tkinter 编程了。略微实践之后您就会发现它不难掌握。有一个好处是:可以通过 Python 以外的很多语言访问 TK 库,因此您使用 Python 的 Tkinter 模块学到的大多数知识可以应用到其它语言。
更多精彩
赞助商链接