Пользовательский графический интерфейс с несколькими строками, такими как AutoHotkey

В AutoHotkey (инструмент написания сценариев только для Windows) можно создавать подробные графические пользовательские интерфейсы с очень небольшим количеством строк кода. Вы создаете графический интерфейс и добавляете или редактируете его элементы. Любой элемент может иметь прослушиватель, установленный только с помощью опции g-label .

Рассмотрим этот интерфейс:

ahk gui

Для лучшего понимания вот полный исходный код AHK.

gui, color, BADEFA
gui, font, s6 cRed, Verdana
gui, add, text, x150 y5, Hello!
gui, font
gui, add, text, x10 y5, This is a gui.
gui, add, dropDownList, w60 gcolor_selected vselected_color, Black|White|Green||Blue
gui, add, text, xp+70 yp+0 vcolor_prompt w120
gui, add, picture, x10, kitten.png
gui, show, center w300, I am a beatiful GUI
return
color_selected:
    gui, submit, nohide
    guicontrol,, color_prompt, You selected %selected_color%
    gui, font, c%selected_color%
    guicontrol, font, color_prompt
return

Данный скриншот был сделан с использованием WINE . Я ищу язык, инструмент, скрипт, который предлагает аналогичную GUI-функциональность, как AHK для Windows, в основном с точки зрения простоты. Синтаксис абсолютных координат (опция x[X] y[Y]) является центральным требованием. Лучшее, что я мог придумать, это Python's TkInter , который даже не поддерживает абсолютное позиционирование. Это самое компактное решение для Ubuntu?

1
задан 3 November 2017 в 20:10

1 ответ

Не удалось найти никого, таким образом, я сделал тот сам. Tcl/Tk является самым близким, я мог найти, однако это (как имя предполагает) Tcl код.

Так, это называют TkBash и является оберткой удара вокруг кода tcl. Вот моя попытка воссоздать изображение от вопроса:

#!/bin/bash
tkbash 1 window --theme clam --w 290 -h 200
tkbash 1 --tkcommand ". configure -background lightblue"
tkbash 1 label label1 -x 10 -y 10 -w 80 -h 20 -t "This is a gui."
tkbash 1 label label2 -x 140 -y 10 -w 30 -h 15 -t "Hello!"
tkbash 1 --tkcommand "font create myfont -family Helvetica -size 8"
tkbash 1 label2 --tkcommand "configure -font myfont"
tkbash 1 select select1 -x 10 -y 30 -w 80 -h 20 -t "Black|White|Green||Blue"
tkbash 1 label label3 -x 95 -y 30 -w 120 -h 20
tkbash 1 button button1 -x 245 -y 25 -w 30 -h 30 -t "ok" -c "
    selected_color=\"\$(tkbash 1 get select1)\"
    tkbash 1 label3 -t \"You selected \$selected_color\""
tkbash 1 image image1 -x 10 -y 60 -w 125 -h 120 --image "kitten.png"

enter image description here

0
ответ дан 4 November 2017 в 06:10

Другие вопросы по тегам:

Похожие вопросы: