Вопрос Быстрый способ создания gui для приложения bash


Я хочу создать простой графический интерфейс для приложения, использующего bash, чтобы, например, нажатие на кнопку выполняло некоторые команды bash и так одно.

Создатель GUI также прост, мне нужны только кнопки и текстовые поля, которые не требуют изучения нового программирования launguage?


5
2017-12-21 14:54


происхождения




ответы:


Я отправил ответ Вот, что может быть полезно, для удобства я просто верну его сюда снова.

Яд может быть полезен в этом отношении, это вилка зенита с большим количеством функций, одна из которых способна создавать формы.

Вот очень простой пример формы:

#!/bin/bash


frmdata=$(yad --title "Test Form" --form --field "Address" --field="Name")


frmaddr=$(echo $frmdata | awk 'BEGIN {FS="|" } { print $1 }')
frmname=$(echo $frmdata | awk 'BEGIN {FS="|" } { print $2 }')

echo $frmaddr > test.txt
echo $frmname >> test.txt

В приведенном выше скрипте будет отображаться следующая форма:

enter image description here

После того, как вы введете свои данные и нажмите «ОК» или нажмите «Ввод» на клавиатуре, данные формы будут записаны в текстовый файл test.txt, я использую awk для разделения данных формы, которая является строкой с каналом в качестве разделителя полей, Я считаю, что есть прямой способ получить данные без awk, но я не эксперт по yad, пожалуйста, проверьте проект дома и задайте вопросы, вы можете найти более элегантный способ.

Как получить и установить yad здесь:

http://www.webupd8.org/2010/12/yad-zenity-on-steroids-display.html

yad project home:

http://code.google.com/p/yad/

больше примеров здесь:

http://technostripe.com/yad-a-fork-of-zenity-with-more-features/

http://code.google.com/p/yad/wiki/Examples

Для него пока нет конструктора форм, но поскольку синтаксис настолько прост и так близок к зениту, это обычно не проблема.


9
2017-12-21 15:25



вау это кажется действительно крутым, но я не могу найти какие-либо документы ... - Matteo Pagliazzi
я хотел бы сделать что-то подобное dl.dropbox.com/u/1143206/myImage.png, возможно? - Matteo Pagliazzi
На сайте разработчика на домашней ссылке проекта есть много примеров, и самому разработчику легко поговорить. - Sabacon
Основываясь на примерах и том, что я прочитал о Zenity и Yad, я считаю, что вы можете делать подобные, - Sabacon
есть много примеров, но эй не очень полезно, по крайней мере, для меня, так или иначе, теперь я пишу по электронной почте разработчику ... - Matteo Pagliazzi


Для простого ввода пользователем вы можете использовать zenity (живет в zenity пакет). Простым примером может быть что-то вроде этого:

VARIABLE=$(zenity --entry --title="Give me inputz" --text="Write some stuff")
echo $VARIABLE

Для текстовой области (как мы говорим в мире HTML) вы изменили бы синтаксис на что-то вроде этого:

zenity --text-info --title="Give me inputz" --editable

Вы можете узнать гораздо больше о его руководство, Это очень гибкий пользовательский ввод библиотеки в простых сценариях.

Изменить: вы также можете найти некоторые хорошие примеры в Linuxaria,


7
2017-12-21 15:07



когда я доступен для редактирования, могу ли я делать другие вещи, такие как текст, кнопки, как? - Matteo Pagliazzi


Взгляните на это: http://sites.google.com/site/easybashgui

Ты используешь:

source easybashgui
input 2 "Address" "?" "Name" "?"
cp "$dir_tmp/$file_tmp" "test.txt"
clean_temp

3
2018-02-24 08:59





Пытаться tkbash,

Вы можете указать такие элементы, как это

tkbash 1 button b1 -x 0 -y 0 -w 100 -h 30 -t "click me" --command "notify-send hi"

0
2017-08-12 17:16