Lorsque j'exécute Sudo dpkg-reconfigure lightdm
dans le terminal, je vois un menu liste simpliste ressemblant à une fenêtre. Y at-il un moyen de faire quelque chose comme ça en C++?
Cela ressemble à quelque chose comme:
L’interface de type fenêtre, contenue dans un terminal, que vous voyez lorsque vous exécutez Sudo dpkg-reconfigure lightdm
est codée à l’aide de = ncurses bibliothèque . Donc, si vous voulez que votre programme fournisse une interface qui ressemble à cela, vous pouvez aussi utiliser ncurses.
Voici la page du projet ncurses .
Voici un HOWTO de la programmation de NCURSES .
Vous pouvez installer certains fichiers de documentation ncurses avec le ncurses-doc package.
Cela inclut la page de manuel ncurses, que vous pouvez également consulter en ligne ici . Il inclut également des pages de manuel pour toutes les fonctions fournies par la bibliothèque ncurses (certaines partagent une page de manuel). Ces pages de manuel ne sont pas actuellement en ligne sur le site manpages.ubuntu.com .
Pour créer un logiciel utilisant ncurses dans Ubuntu, vous devez obtenir le package fichiers d'en-tête approprié. À moins que vous ne fassiez de la compilation croisée, ce sera:
Pour les programmes utilisant des chaînes traditionnelles où la plupart des caractères sont représentés par un seul octet (par exemple, TF-8 ), utilisez libncurses5 .
C'est probablement ce que vous voulez si vos chaînes sont des tableaux de char
(en C et d'autres langages basés sur C) ou std::string
(en C++).
Pour les programmes nécessitant une prise en charge de caractères étendus, utilisez libncursesw5 .
Vous en aurez particulièrement besoin si vos chaînes sont des tableaux de wchar_t
(en C et d’autres langages basés sur C) ou std::wstring
, std::u16string
ou std::u32string
(en C++) .
Facultativement, pour vous aider à déboguer votre programme, vous pourriez également vouloir des symboles de débogage (pour les débogueurs tels que gdb ). Pour cela, installez libncurses5-dbg ou libncursesw5-dbg aussi.
Voir aussi la page ncurses dans Ubuntu sur Launchpad , qui contient la liste des principaux packages ncurses dans Ubuntu ainsi que des informations sur la version de chaque version actuellement prise en charge par Ubuntu.
Lorsque vous construisez votre programme avec GCC (par exemple, avec les commandes gcc
ou g++
,), donnez-lui l'argument -lncurses
ou -lncursesw
, généralement à la fin de la commande. . Ceci lie votre programme à la bibliothèque ncurses. Par exemple:
g++ -Wall -g -o hello hello.cpp -lncurses
Cela compile hello.cpp pour produire un exécutable avec les symboles de débogage (-g
), appelé hello (-o hello
), avertissement sur la plupart des choses pour lesquelles vous souhaitez un avertissement sur (-Wall
), et création d'un lien vers la bibliothèque ncurses normale (caractère non large) (-lncurses
).