Возможно, вы захотите взглянуть на Tcl / Tk и понятие старкитов и старпаков. С последним вы можете создать однофайловый исполняемый файл Windows, чтобы вашим конечным пользователям не пришлось устанавливать ничего, кроме этой программы.
Используя tk 8.5, вы также получите преимущество от встроенных виджетов Windows, поэтому графический интерфейс может выглядеть очень профессионально.
Код будет выглядеть примерно так:
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