#1 Le 11/09/2016, à 13:18
- Compte supprimé
YAD - Problème avec bouton BTN
Bonjour,
Voilà un exemple très simplifié de mon problème:
#!/bin/bash
yad --form \
--text="Cliquez sur le bouton ci-dessous pour voir le calendrier" \
--field="Suivant et fermer cette fenêtre":BTN
yadPid="$?"
if [[ "${yadPid}" = "5" ]]; then
yad --calendar
fi
J'aimerais quand je clique sur le bouton "Suivant et fermer cette fenêtre" que la fenêtre se ferme via un bouton BTN et par la même occasion récupérer le code de sortie et si le code sortie correspond à "5" la boîte de dialogue "calendar" s'ouvre.
Comment faire ?
Dernière modification par Compte supprimé (Le 11/09/2016, à 14:00)
#2 Le 19/09/2016, à 07:06
- le-peyo
Re : YAD - Problème avec bouton BTN
¡ Holà !
Tu peux t'inspirer de ça :
yad --title="test" --text="<b><u>Pose ta question ici</u></b>" --button="<b>Annuler</b>:1" --button="<b>Choix A</b>:0" --button="<b>Choix B</b>:2" --button="<b>Choix C</b>:3"
case $? in
0)
commande_qui_lance_ton_calendrier;;
1)
exit;;
2)
commande_correspondant_au_choix_B;;
3)
commande_correspondant_au_choix_C;;
esac
Les <b> et <u> sont les balises "bold" et "underligne" pour écrire en gras et surligner (plus joli et nécessaire parfois).
Quand Yad voit --button="<b>Annuler</b>:1" il interprète le :1 à la fin comme étant la commande/réponse "Quitter/Annuler" par défaut. Pour Yad le :0 est équivalent à "OK", les autres choix :2 et :3 sont là à titre d'exemple pour te montrer que tu n'es pas limité à OK et Annuler.
Les double ;; sont obligatoires pour que ça fonctionne.
À plus.
Dernière modification par le-peyo (Le 19/09/2016, à 07:13)
Sous Linux depuis 2009 | Xubuntu 22.04 LTS | Lenovo Thinkpad W540
Windows... ? J'connais pas...
Petits scripts vidéos bien pratiques =>
C'est le moment : OMS et Institut Pasteur !
Hors ligne
#3 Le 19/09/2016, à 17:13
- Compte supprimé
Re : YAD - Problème avec bouton BTN
Salut le-peyo
Merci de me répondre.
Voici ce que j'ai fait avec ta proposition.
#!/bin/bash
yad --title="test" \
--text="<b><u>Faites votre choix</u></b>" \
--button="Annuler:1" \
--button="Calendrier:0" \
--button="Fichier:2"
case $? in
0)
yad --calendar;;
1)
exit;;
2)
yad --file;;
esac
Mais dans ma question initiale je désire faire ça avec un bouton BTN et après avoir longuement chercher je n'ai pas trouvé de solution (pour le moment) avec yad.
Par contre je suis entrain d'apprendre le Python (j'ai commencé il y a 3 jours). Et je pense que le module Tkinter ou même Glade devrait me permettre de réaliser une interface graphique avec plus de possibilités. Le but est de créer une petite interface graphique pour convertir les vidéos avec FFmepg. Je fais ce programme dans un but ludique et d’apprentissage... et il y a encore beaucoup beaucoup de travail et de grattage de tête!
Dernière modification par Compte supprimé (Le 19/09/2016, à 17:51)