GUI personalizada com poucas linhas como AutoHotkey

1

No AutoHotkey (ferramenta de script somente do Windows), é possível criar interfaces gráficas completas com poucas linhas de código. Você cria uma GUI e adicione ou edite seus elementos. Qualquer elemento pode ter um ouvinte instalado usando apenas a opção g-label .

Considere esta interface:

Paraentendermelhor,aquiestátodoocódigo-fontedoAHK.

gui,color,BADEFAgui,font,s6cRed,Verdanagui,add,text,x150y5,Hello!gui,fontgui,add,text,x10y5,Thisisagui.gui,add,dropDownList,w60gcolor_selectedvselected_color,Black|White|Green||Bluegui,add,text,xp+70yp+0vcolor_promptw120gui,add,picture,x10,kitten.pnggui,show,centerw300,IamabeatifulGUIreturncolor_selected:gui,submit,nohideguicontrol,,color_prompt,Youselected%selected_color%gui,font,c%selected_color%guicontrol,font,color_promptreturn

Acapturadetelaacimafoifeitausando WINE . Eu estou procurando uma linguagem, ferramenta, script que oferece funcionalidade GUI semelhante como AHK faz para o Windows, principalmente em termos de simplicidade. A sintaxe de coordenadas absolutas (opção x[X] y[Y] ) é o requisito central. O melhor que consegui fazer até agora é o TkInter do Python, que nem sequer suporta posicionamento absoluto. Esta é a solução mais compacta que existe para o Ubuntu?

    
por Blauhirn 04.08.2017 / 19:51

1 resposta

0

Não foi possível encontrar nenhum, então eu mesmo fiz um. Tcl / Tk é o mais próximo que pude encontrar, no entanto, é (como o nome sugere) Tcl code.

Então, ele é chamado de TkBash e é um wrapper em torno do código tcl. Aqui está minha tentativa de recriar a imagem a partir da pergunta:

#!/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"

    
por Blauhirn 12.08.2017 / 19:08