Постарайтесь не показывать кнопку отмены на диалоговом окне

Я использую Kubuntu 18.04 с:

$ zenity --version
3.28.1

Я хочу отобразить a --list диалоговое окно с zenity, но я не хочу показывать Кнопку отмены (на самом деле, я хорошо, если нет никакого OK ни одного). Это должно быть легко с --no-cancel опция:

$ zenity --list --no-cancel
--no-cancel is not supported for this dialog

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

Я только хочу показать пользователю данные в таблице. Я не забочусь о выборе/редактировании или возвращении результата.

Есть ли какой-либо альтернативный путь? Или zenity просто не мог сделать это?

8
задан 16 October 2019 в 12:30

2 ответа

Да, zenity довольно ограничен. К счастью существует ветвление, доступное, который заполняет разрыв: yad – “Еще одно диалоговое окно” (sudo apt install yad). Это использует тот же синтаксис как zenity, но добавляет тонну полезных опций, например --button явно определить кнопки Вашего диалогового окна:

yad --list --button=OK:0

Это отображает окно списка только с кнопкой “OK”, возвращая код выхода 0.

Пример

Вот простой пример, вдохновленный одним страницей справочника:

yad --list --button=OK:0 --checklist --column "Buy" --column "Item" \
  TRUE Apples TRUE Oranges FALSE Pears FALSE Toothpaste

yad usage example

Когда “хорошо” нажат в этом состоянии, программа возвращает a 0 код выхода и печать проверенные опции к stdout:

TRUE|Apples|
TRUE|Oranges|

Дальнейшее чтение

8
ответ дан 23 November 2019 в 05:28

Повторно маркируйте Zenity Cancel button

Можно повторно маркировать кнопку, но Вы не можете удалить ее:

$ zenity --list --cancel-label="Go Back" --column="Column 1"

Даст Вам:

zenity cancel relabel.png


YAD (еще одно диалоговое окно)

Оба yad и zenity позвольте Вам использовать поля диалогового окна графического интерфейса пользователя из сценария удара или командной строки оболочки. Yad превосходит Zenity в каждом отделе хотя:

sudo apt install yad

Работы во всех дистрибутивах.


Индикаторы выполнения Yad

yad progress bars.png

Можно определить несколько индикаторов выполнения в yad, где zenity только предлагает 1. Можно также включать прокручивающий текст.


Кнопки Yad

yad buttons.png

Можно присвоить любой текст, который Вы хотите к любой кнопке. Также заметьте, что можно включать значок Window также.


Ввод текста Yad

yad text entry.png

Yad отображает текст для Вас для изменения. Zenity не может отобразить существующий текст, можно только ввести новый текст.


Поддержка Yad

Автор Yad и намного больше участников отвечают на Ваши вопросы в группах Google. Я отправил четыре или пять вопросов о передовой функциональности и обычно получаю ответ в течение 24 часов. Не говоря уже об улучшениях обеспечиваются через тот же канал.

7
ответ дан 23 November 2019 в 05:28

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

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