Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Toolkit graphique

28 réponses
Avatar
Pierre THIERRY
Bonjour à tous,

je vais devoir très bien tôt développer une application graphique,
relativement simple au demeurant, et j'en suis à chercher une bibli pour
la partie interface graphique, en C++ (jamais fait avant).

Un détail m'ennuie dans celles qui tiennent la route : aucune n'adhère
vraiment à la façon C++ de faire les choses. Qt, par exemple, nécessite
un préprocesseur spécifique, et FOX et wxWidgets utilisent des macros,
là ou des constantes, des fonctions inline ou des templates m'auraient
semblés parfaits.

Est-ce que vous en savez la raison ? Est-ce que quelqu'un connaît une
bonne bibliothèque graphique, adhérant le plus rigoureusement au modèle
objet et à C++ (constantes, fonction inline et templates à la place des
macros, donc) ?

Dubitativement,
Nowhere man
--
nowhere.man@levallois.eu.org
OpenPGP 0xD9D50D8A

10 réponses

1 2 3
Avatar
Sylvain Togni
Bonjour à tous,

je vais devoir très bien tôt développer une application graphique,
relativement simple au demeurant, et j'en suis à chercher une bibli pour
la partie interface graphique, en C++ (jamais fait avant).

Un détail m'ennuie dans celles qui tiennent la route : aucune n'adhère
vraiment à la façon C++ de faire les choses. Qt, par exemple, nécessite
un préprocesseur spécifique, et FOX et wxWidgets utilisent des macros,
là ou des constantes, des fonctions inline ou des templates m'auraient
semblés parfaits.

Est-ce que vous en savez la raison ? Est-ce que quelqu'un connaît une
bonne bibliothèque graphique, adhérant le plus rigoureusement au modèle
objet et à C++ (constantes, fonction inline et templates à la place des
macros, donc) ?


Leurs défauts de conception viennent principalement de leur age.
wxWidgets a 12 ans, par exemple. Elle est née avant la norme c++,
à une époque ou les compilateurs ne supportaient pas bien les
choses modernes comme les templates.

Tu trouvera des toolkits mieux conçus, mais il seront plus récents
et pêcherons sur presque tous les autres points. Un toolkit comme
wxWidgets est largement éprouvé, il a une communaté importante,
des forums d'aides, des outils et du code en pagaille. Il est
activement maintenu et fonctionne sur pratiquement toutes les
plateformes et compilateurs.

Choisir un toolkit plus moderne a un sens, je pense, mais
uniquement dans un but d'éducation, ou pour faire une ou deux
petites applications jouets.

Pour des applications sérieuses, et portables, il n'y pas
vraiement d'alternatives aux ténors que sont wxWidgets et Qt.

--
Sylvain

Avatar
guenome
Je pense que GTKmm est parfait pour toi.
http://www.gtkmm.org

Il suis la logique du C++, les classes du C++ standard, std::list,
std::vector etc. Il pêche un peu en documentation quoi que depuis
quelques temps ça semble bien s'améliorer. Il n'y a aucun code
#define, les signaux sont gérés par la libsigc++ sous forme de classe
template et la mailling list est très active. Tu peux le coupler avec
la libglademm qui permet d'utiliser des fichiers XML, .glade en
réalité, pour le développement des interfaces allégeant ton code de
la partie construction des interfaces graphiques.

Le programme Inkscape est par exemple développé en GTKmm pour montrer
la portabilité c'est pratique puisqu'Inkscape fonctionne sous
Linux/Windows etc.

http://www.inkscape.org/

Quelques autres applications développées avec ce toolkit :
http://www.gtkmm.org/extra.shtml, K-3D par exemple.
Avatar
adebaene

Bonjour à tous,

je vais devoir très bien tôt développer une application graphique,
relativement simple au demeurant, et j'en suis à chercher une bibli pour
la partie interface graphique, en C++ (jamais fait avant).


Comme tu ne nous as pas spécifié ton OS, on peut difficilement te
conseiller quoi que ce soit...

Arnaud

Avatar
kanze
wrote:

je vais devoir très bien tôt développer une application
graphique, relativement simple au demeurant, et j'en suis à
chercher une bibli pour la partie interface graphique, en
C++ (jamais fait avant).


Comme tu ne nous as pas spécifié ton OS, on peut difficilement
te conseiller quoi que ce soit...


On pourrait supposer qu'il voulait quelque chose de portable ?
D'autant plus qu'il parlait déjà de wxWidgets et de Qt.

Dans la pratique, comme a dit Sylvain, ce sont les deux toolkits
répandus, et donc réelement suivis. Il y en a d'autres, sans
doute plus beaux ou plus élégants, mais ils font figure toujours
d'« expérimentaux » : j'ai beaucoup les principes derrière
Fresco, par exemple, mais je ne suis pas sûr qu'il conviendrait
dans une vraie application. (Je suis prèsque sûr que non ; en
visitant leur site, j'ai l'impression que le développement c'est
arrêté en 2004.)

--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34


Avatar
John Deuf
:

je vais devoir très bien tôt développer une application graphique,
relativement simple au demeurant, et j'en suis à chercher une bibli
pour la partie interface graphique, en C++ (jamais fait avant).



Moi j'aime bien win32gui de John Torjo.
http://www.torjo.com/win32gui/

Totalement C++, fortement typee, avec les template, namespace, vector...
Elle est toujours en developpement.
Je pense qu'elle serait une excellente candidate s'il devait avoir une
bibliotheque gui dans la norme.

--
John Deuf


Avatar
Aurelien Regat-Barrel
Moi j'aime bien win32gui de John Torjo.
http://www.torjo.com/win32gui/

Totalement C++, fortement typee, avec les template, namespace, vector...
Elle est toujours en developpement.
Je pense qu'elle serait une excellente candidate s'il devait avoir une
bibliotheque gui dans la norme.


Sauf qu'elle est spécifique à Windows. En général, mais en particulier
dans ce domaine, il faut choisir entre portabilité et fonctionnalité.
Y'a pas de solution miracle:
- soit tu recodes tout sur chaque OS pour avoir le même comportement partout
- soit tu utilises des libs systèmes spécifiques, avec... des spécificités

- Qt a fait le premier choix et s'en tire pas trop mal. Sous Windows, le
look Qt se fonde assez bien dans le décor. C'est plutôt une exception.
- wxWidgets a fait le second. Le résultat varie en fonction de l'OS ce
qui peut demander des corrections et plus de tests, mais sous Windows,
on a bien un vrai programme Win32.

--
Aurélien Regat-Barrel

Avatar
John Deuf

Sauf qu'elle est spécifique à Windows.


Pour le moment oui. Un portage vers GTK est prévu par l'auteur.

Avatar
Aurelien Regat-Barrel


Sauf qu'elle est spécifique à Windows.



Pour le moment oui. Un portage vers GTK est prévu par l'auteur.


Faudra changer le nom alors ;)

--
Aurélien Regat-Barrel


Avatar
loufoque

Moi j'aime bien win32gui de John Torjo.


C'est bien loin de supporter tout ce qu'on attend d'un "GUI toolkit"
moderne.

Avatar
John Deuf

Pour le moment oui. Un portage vers GTK est prévu par l'auteur.


Faudra changer le nom alors ;)


C'est prévu aussi ;-)


1 2 3