我需要一个简单的窗口,其中包含三个输入框和三个标签(登录名、密码和服务器节点)以及一个执行脚本的按钮。我不想要任何需要在 Windows 上安装的第三方程序。如果它可以安装在 Cygwin 上,那就太好了。
Paul
问问题
205 次
2 回答
2
您可能想查看 Tcl/Tk 以及 starkits 和 starpacks 的概念。使用后者,您可以创建一个单文件 Windows 可执行文件,这样您的最终用户就不必安装除此程序之外的任何东西。
通过使用 tk 8.5,您还将获得本机 Windows 小部件的好处,因此 GUI 看起来非常专业。
代码看起来像这样:
package require Tk 8.5
proc main {} {
ttk::frame .f
ttk::label .l1 -text "Username:" -anchor e
ttk::label .l2 -text "Password:" -anchor e
ttk::label .l3 -text "Server:" -anchor e
ttk::entry .e1 -textvariable data(username)
ttk::entry .e2 -textvariable data(password) -show *
ttk::entry .e3 -textvariable data(server)
ttk::button .b1 -text "Submit" -command run
grid .l1 .e1 -sticky ew -in .f -padx 4
grid .l2 .e2 -sticky ew -in .f -padx 4
grid .l3 .e3 -sticky ew -in .f -padx 4
grid x .b1 -sticky e -row 4 -in .f -padx 4 -pady 4
grid rowconfigure .f 3 -weight 1
grid columnconfigure .f 1 -weight 1
pack .f -side top -fill both -expand true
focus .e1
}
proc run {} {
global data
puts "username: $data(username)"
puts "password: $data(password)"
puts "server: $data(server)"
}
main
于 2008-11-22T20:54:43.297 回答
1
很多人曾经使用 TCL/TK 来做这种事情(在 cygwin 中)。
如果它仅适用于 Windows,那么任何使用 Winforms 的 .NET 语言都将很容易使用(除非您有较旧的盒子,否则不需要分发 .NET)。
于 2008-11-22T20:43:12.073 回答