我想创建一个用两个按钮作为用户输入的Zenity对话框窗口。
以下创建一个带有两个按钮的窗口,但有一个用于文本条目的空间
zenity --entry --title="" --text "Choose A or B" --ok-label="B" --cancel-label="A"
以下仅使用一个按钮创建一个窗口
zenity --info --title="" --text "Choose A or B" --ok-label="B"
至少最近的Zenity版本具有 - extra-button标志。
结合了退出代码的值和Stdout的内容,代码可以弄清楚用户所做的。
例如:
while true; do
ans=$(zenity --info --title 'Choose!'
--text 'Choose A or B or C'
--ok-label A
--extra-button B --extra-button C
--timeout 3)
rc=$?
echo "${rc}-${ans}"
done
结果看起来像这样:
# timeout
5-
# ESC key
1-
# A button
0-
# B button
1-B
# C button
1-C
请注意,上面的其他对话框类似,尽管某些组合可能令人惊讶。确保实验并处理各种不同的用户交互。
--question
是您要寻找的:
zenity --question
--title=""
--text "Choose A or B"
--ok-label="B"
--cancel-label="A"
您也可以使用--info
zenity --info
--title="A or B"
--text "Choose A or B"
--ok-label="B"
--cancel-label="A"