web-dev-qa-db-fra.com

Comment créer un formulaire Zenity avec une liste de contrôle

J'essaie de créer une petite interface graphique dans Zenity, car elle comporte quelques entrées de texte associées à une liste de contrôle. Il semble cependant que la seule liste que je puisse ajouter à un formulaire est une liste de valeurs fixes, et non une liste de cases à cocher. Y a-t-il une solution à cela?

Fondamentalement, c'est quelque chose comme ça, mais --checklist n'est pas disponible pour les formulaires, et je ne sais pas comment mettre ces choses dans la même fenêtre.

zenity --forms --title="Options"\
--text="Edit options"\
--add-entry="File:"\
--add-entry="Username:"\
--add-list="Features" --checklist\'

J'essaie d'ajouter des valeurs à la liste et aux colonnes, mais ceci:

zenity --forms --title="Options"\
--text="Edit options"\
--add-entry="File:"\
--add-entry="Username:"\
--add-list="Features" \
--list-values="A|B|C" \

Cela n'a pas aidé, cependant, car il ajoute simplement 3 chaînes dans la zone de liste. Je pensais que j'essaierais de créer une liste de contrôle contenant d'autres entrées. J'ai donc d'abord établi une liste de contrôle de base.

zenity --list --checklist --title="Options"\
--text="Select your features"\
--column="Use"\
--column="Feature"\
TRUE A\
False B\

Part de gâteau! Ensuite, j'ai pensé ajouter une entrée, comme dans les formulaires:

zenity --list --checklist --title="Options"\
    --text="Select your features"\
    --add-entry="File:"\
    --column="Use"\
    --column="Feature"\
    TRUE A\
    False B\

Il fonctionne comme il se doit, mais le champ de saisie de texte n’est jamais affiché.

4
user3801839

Il semblerait que l'option --add-entry ne soit pas prise en charge lorsque --list --checklist est utilisé. J'ai adapté votre code pour créer:

#!/bin/bash

zenity --list --checklist --title="Options"\
    --text="Select your features"\
    --column="Use"\
    --column="Feature"\
    TRUE A\
    False B\

zenity --forms --title="Create user" --text="Add new user" \
   --add-entry="First Name" \
   --add-entry="Last Name" \
   --add-entry="Username" \
   --add-password="Password" \
   --add-password="Confirm Password" \
   --add-calendar="Expires"

La première section, vous savez à quoi ça ressemble déjà. La deuxième section ressemble à ceci:

Zenity Add Entry

--add-entry fonctionne sur le type de boîte de dialogue --forms mais pas sur le type de boîte de dialogue --list.

Crédit pour --forms code à: ( publication sur pile d'échange )

1
WinEunuuchs2Unix