OVH Cloud OVH Cloud

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
John Deuf

Moi j'aime bien win32gui de John Torjo.


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


Elle fait du GUI.
Tu attends quoi d'autre d'un GUI toolkit ?


Avatar
Christophe de Vienne
Bonjour,

Pierre THIERRY wrote:

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) ?


Je te conseille de regarder de près gtkmm (http://www.gtkmm.org/). C'est
très
"C++" : peu ou pas de macros, pas d'extensions au language, et en plus c'est
portable et éprouvé puisque c'est une couche relativement fine au-dessus de
GTK+.

A+

Christophe

Avatar
loufoque

et en plus c'est
portable


Sous Windows et Mac OS X c'est quand même pas terrible.

Avatar
Christophe de Vienne
loufoque wrote:


et en plus c'est
portable


Sous Windows et Mac OS X c'est quand même pas terrible.



Sous mac os je ne sais pas, mais sous windows je trouve ça plutôt bien (cf
the gimp, gaim...). Après c'est souvent une question de thème utilisé.

A+

Christophe


Avatar
Christophe de Vienne
Christophe de Vienne wrote:

loufoque wrote:


et en plus c'est
portable


Sous Windows et Mac OS X c'est quand même pas terrible.



Sous mac os je ne sais pas, mais sous windows je trouve ça plutôt bien (cf
the gimp, gaim...). Après c'est souvent une question de thème utilisé.


Autre exemple: l'administrateur mysql
(http://www.mysql.com/products/tools/administrator/). Avec des screenshots
qui ne rentrent pas dans la catégorie "pas terrible" selon mes critères :-)

A+

Christophe



Avatar
loufoque

Sous mac os je ne sais pas, mais sous windows je trouve ça plutôt bien (cf
the gimp, gaim...).


Je crois me rappeler (je n'ai plus windows) qu'il y a tout de même
certains bugs et que c'est un peu lent à réagir.

Pour Mac OS X, il faut installer un serveur X pour faire tourner les
applications GTK.

Avatar
Robert CHERAMY
Salut,

Christophe de Vienne wrote:
Pierre THIERRY wrote:

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) ?



Je te conseille de regarder de près gtkmm (http://www.gtkmm.org/). C'est
très
"C++" : peu ou pas de macros, pas d'extensions au language, et en plus c'est
portable et éprouvé puisque c'est une couche relativement fine au-dessus de
GTK+.



Je n'ai malheureusement plus le message original dans mon lecteur de
news, alors je réponds ici:

Je recommande très chaudement Qt4. Il est 100% Objet C++ (quelques
macros tout de même pour ajouter du sucre syntaxique), conçu pour être
portable, et très bien foutu. Pour une bonne introduction, lire le
Whitepaper:
http://www.trolltech.com/pdf/whitepapers/qt40-whitepaper-a4.pdf [en]

tibob


Avatar
loufoque

Je recommande très chaudement Qt4. Il est 100% Objet C++ (quelques
macros tout de même pour ajouter du sucre syntaxique), conçu pour être
portable, et très bien foutu.


Macros (pour les signaux principalement), préfixes, pointeurs directs
(donc gestion mémoire manuelle), framework complet qui fait doublon avec
de nombreuses autres bibliothèques (dont la bibliothèque standard)

Ce n'est tout simplement pas du C++ moderne et standard.

Avatar
Robert CHERAMY
Bonjour,

loufoque wrote:
Macros (pour les signaux principalement), préfixes, pointeurs directs
(donc gestion mémoire manuelle), framework complet qui fait doublon
avec de nombreuses autres bibliothèques (dont la bibliothèque standard)
Personnellement, je n'aime pas la STL ni la taille des exécutables qui

en découle, donc je suis plutôt content que Qt4 mette un Framework à ma
disposition.

Pour ce qui est des pointeurs et de la gestion de mémoire manuelle, je
ne vois pas de quoi vous voulez parler. Peut-être pouvez-vous citer un
exemple provenant des tutoriels Qt [1] utilisant des pointeurs directs ?

1. http://www.trolltech.com/pdf/whitepapers/qt40-whitepaper-a4.pdf
Ce n'est tout simplement pas du C++ moderne et standard.
Quelle librairie graphique proposez-vous si vous n'aimez ni Qt ni GTK+ ?


tibob

Avatar
loufoque

Personnellement, je n'aime pas la STL


Donc pas le « vrai » C++.
La bibliothèque standard (dont la partie que l'on nomme STL) est un
élément fondamental du C++ qui en définit les conventions.


je suis plutôt content que Qt4 mette un Framework à ma
disposition.


Moi je m'attends à ce qu'un toolkit graphique ne fasse que ça, me
laissant choisir les autres bibliothèques que je veux pour mes autres
besoins (réseau etc.)


Pour ce qui est des pointeurs et de la gestion de mémoire manuelle, je
ne vois pas de quoi vous voulez parler.


Je me suis planté, en fait c'est le contraire.
GTKmm permet la gestion de mémoire des objets classique du C++ :
utilisation statique de la pile, ou allocation dynamique sur le tas puis
libération manuelle.
Toutes les fonctions fonctionnent sans pointeurs avec des références ou
avec des pointeurs intelligents quand c'est nécessaire, mais le
développeur peut aussi utiliser des pointeurs s'il le souhaite.

Il est aussi possible de déléguer la libération des pointeurs à un
widget particulier (généralement leur widget conteneur) : c'est la seule
approche que permet Qt, apparemment, qui fonctionne avec des pointeurs
partout.

Qt n'a apparemment pas non plus de pointeurs intelligents pour des
éléments partagés entre les widgets, et propose alors des méthodes
lourdes de ramasse-miettes.

Bien sûr je dis tout le temps "apparemment" parce que je ne connais pas
Qt en profondeur, d'où la possibilité que je me trompe totalement.


Quelle librairie graphique proposez-vous si vous n'aimez ni Qt ni GTK+ ?


Je n'ai jamais dit ne pas aimer GTK+ (enfin GTKmm, la version C++), au
contraire.

1 2 3