重新标记 Zenity 取消按钮

重新标记 Zenity 取消按钮

我正在使用 Kubuntu 18.04:

$ zenity --version
3.28.1

我想--list用 zenity 显示一个对话框,但我不想显示“取消”按钮(事实上,如果没有“确定”按钮也没关系)。使用以下--no-cancel选项应该很容易:

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

输出似乎表明 zenity 知道该选项但不想让我使用它。

我只想向用户显示表格中的数据。我不关心选择/编辑或获取结果。

还有其他方法吗?还是zenity根本无法做到这一点?

答案1

是的,zenity功能非常有限。幸运的是,有一个分支可以填补这个空白:yad- “Yet Another Dialog” ( 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 使用示例

在此状态下单击“确定”时,程序将返回0退出代码并将选中的选项打印到标准输出:

TRUE|Apples|
TRUE|Oranges|

进一步阅读

答案2

重新标记 Zenity 取消按钮

您可以重新标记按钮,但不能删除它:

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

会给你:

zenity 取消重新标记.png


YAD(又一个对话)

yad和都zenity允许您从 bash 脚本或 shell 命令行使用 GUI 对话框。不过 Yad 在各个方面都超越了 Zenity:

sudo apt install yad

适用于所有发行版。


Yad 进度条

yad 进度条.png

您可以在 yad 中定义多个进度条,而 zenity 仅提供 1 个。您还可以包含滚动文本。


亚德按钮

yad 按钮.png

您可以为任意按钮指定任意文本。另请注意,您还可以添加窗口图标。


Yad 文本输入

yad 文本条目.png

Yad 显示文本供您更改。Zenity 无法显示现有文本,您只能输入新文本。


Yad 支持

Yad 的作者和其他贡献者回答了你的问题谷歌群组。我发布了四五个关于高级功能的问题,通常会在 24 小时内得到答复。更不用说通过同一渠道提供增强功能了。

相关内容