Manuel utilisateur — qt6sermo

1. Introduction

qt6sermo permet de créer des fenêtres Qt6 >= 6.2.0 depuis n'importe quel script shell via une syntaxe XML simple.

export DIALOG='
<window title="Bonjour">
  <vbox>
    <text><label>Entrez votre nom :</label></text>
    <entry><variable>NOM</variable></entry>
    <button><label>OK</label><action>EXIT:ok</action></button>
  </vbox>
</window>'

qt6sermo --program=DIALOG
# Sortie : NOM="Jean"  EXIT="ok"

2. Installation

sudo apt-get install qt6-base-dev qt6-tools-dev flex bison autoconf automake pkg-config g++

cd qt6sermo/
./autogen.sh && ./configure && make -j$(nproc)
sudo make install
qt6sermo --version

3. Modes d'utilisation

ModeCommande
Variable d'environnementqt6sermo --program=VAR_ENV
Entrée standardecho '<window>...</window>' | qt6sermo --stdin
Fichier XMLqt6sermo --file=ma_fenetre.xml

4. Syntaxe XML de base

<window title="Titre" width="400" height="300">
  <vbox spacing="6">

    <text><label>Message</label></text>

    <entry>
      <variable>MON_TEXTE</variable>
      <default>valeur initiale</default>
    </entry>

    <hbox homogeneous="true">
      <button ok></button>
      <button cancel></button>
    </hbox>

  </vbox>
</window>

5. Actions disponibles

ActionDescription
EXIT:valeurQuitter le dialogue
refresh:VARRecharger les données d'un widget
enable:VARActiver un widget
disable:VARDésactiver un widget
show:VARAfficher un widget
hide:VARMasquer un widget
echo $VARCommande shell quelconque

6. Widgets disponibles (33)

<button> <checkbox> <colorbutton> <combobox> <comboboxtext> <edit> <entry> <expander> <fontbutton> <frame> <hbox> <hscale> <hseparator> <list> <menubar> <menuitem> <notebook> <pixmap> <progressbar> <radiobutton> <spinbutton> <statusbar> <table> <terminal> <text> <timer> <togglebutton> <tree> <vbox> <vscale> <vseparator> <window>

7. Variables exportées

À la fermeture, qt6sermo exporte sur stdout toutes les variables déclarées :

NOM="Jean"
AGE="25"
EXIT="ok"

Usage dans un script shell :

eval $(qt6sermo --program=DIALOG)
echo "Bonjour $NOM, vous avez $AGE ans"

Assistance IA — Claude

Ce travail a été réalisé avec l'assistance de Claude (Anthropic), dans le cadre du développement de la famille haplo-dialog sur haplo-dialog.

“Ce projet a bénéficié de l’assistance de Claude (Anthropic) — mai 2026.”