Yad 按钮已关闭

Yad 按钮已关闭

我有这个代码:

#!/bin/bash
choice=$(yad --title="Vyberte si prosím produkčnú ES" \
--borders=20 --text="<span foreground='black'><b><big><big>Vyberte si prosím program na výpočet produkčnej ES:</big></big></b></span> \n \n "   \
--form --field="<span font='10' foreground='green'><b>Biomasa - poľnohospodárske plodiny (P1)</b></span>":BTN "echo 1" \
--form --field="<span font='10' foreground='#E17817'><b>Biomasa - drevo a prírodné vlákna (P2)</b></span>":BTN "echo 2" \
--form --field="<span font='10' foreground='blue'><b>Pitná voda (P3)</b></span>":BTN "echo 3" \
--form --field="<span font='10' foreground='#F50FE6'><b>Úžitokvá voda (P4)</b></span>":BTN "echo 4" \
--form --field="<span font='10' foreground='#1DC4C6'><b>Voľne žijúca zver / prírodné plodiny (P5)</b></span>":BTN "echo 5")

echo "$choice"

但是当我点击按钮时什么都没有发生,我需要在点击某个按钮后关闭窗口并将值 1 到 5 发送到变量 $choice。感谢您的任何建议。

答案1

在我发表评论之后,我做了一些实验并想出了这个脚本,我相信它完全符合您的要求。虽然文档说表单必须调用函数,但在我的 yad 版本 0.40.0 (GTK+ 3.24.33) 中,使用“bash -c {command}”即可。至于在选择选项后无法关闭 yad 对话框,我通过使用 YAD_PID 变量终止进程来解决这个问题。

#!/bin/bash
choice=$(yad --title "Vyberte si prosím produkčnú ES" \
--borders=20 --no-buttons \
--text "<span foreground='black'><b><big><big>Vyberte si prosím program na výpočet produkčnej ES:</big></big></b></span> \n \n "   \
--form --columns 1 \
--field="<span font='10' foreground='green'><b>Biomasa - poľnohospodárske plodiny (P1)</b></span>:FBTN" 'bash -c "echo 1;kill $YAD_PID"' \
--field="<span font='10' foreground='#E17817'><b>Biomasa - drevo a prírodné vlákna (P2)</b></span>:FBTN" 'bash -c "echo 2;kill $YAD_PID"' \
--field="<span font='10' foreground='blue'><b>Pitná voda (P3)</b></span>:FBTN" 'bash -c "echo 3;kill $YAD_PID"' \
--field="<span font='10' foreground='#F50FE6'><b>Úžitokvá voda (P4)</b></span>:FBTN" 'bash -c "echo 4;kill $YAD_PID"' \
--field="<span font='10' foreground='#1DC4C6'><b>Voľne žijúca zver / prírodné plodiny (P5)</b></span>:FBTN" 'bash -c "echo 5;kill $YAD_PID"')
echo "Choice was $choice"

晚了两年,但也许它会对某些人有所帮助!

相关内容