0

我需要一个简单的窗口,其中包含三个输入框和三个标签(登录名、密码和服务器节点)以及一个执行脚本的按钮。我不想要任何需要在 Windows 上安装的第三方程序。如果它可以安装在 Cygwin 上,那就太好了。

4

2 回答 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 回答