Какой язык люди порекомендуют в качестве простого графического интерфейса, который можно использовать в качестве входных данных для скрипта, запускаемого в Cygwin? - PullRequest
0 голосов
/ 22 ноября 2008

Мне нужно простое окно с тремя полями ввода и тремя метками (логин, пароль и серверный узел) и кнопкой для запуска скрипта. Я не хочу никаких сторонних программ, которые должны быть установлены в Windows. Если бы его можно было установить на Cygwin, это было бы здорово.

Ответы [ 2 ]

2 голосов
/ 22 ноября 2008

Возможно, вы захотите взглянуть на 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
1 голос
/ 22 ноября 2008

Многие люди использовали TCL / TK для такого рода вещей (в cygwin).

Если это только для Windows, то любой язык .NET, использующий Winforms, будет прост в использовании (не нужно будет распространять .NET, если у вас не установлены старые версии).

...