Bonjour à tous
je désire réaliser une interface graphique en utilisant C++, j'ai trouvé le logiciel Qt.
Je me demande s'il y a un autre logiciel beaucoup mieux que Qt.
merci d'avance
-----
Bonjour à tous
je désire réaliser une interface graphique en utilisant C++, j'ai trouvé le logiciel Qt.
Je me demande s'il y a un autre logiciel beaucoup mieux que Qt.
merci d'avance
Bonjour,
Personnellement j'utilise Borland Builder depuis longtemps je n'ai pas de points de comparaison.
Qt est une bibliothèque C++ (ou à la limite une surcouche C++).j'ai trouvé le logiciel Qt.
Beaucoup mieux, je ne sais pas trop ce que ça veut dire. Des bibliothèques graphiques compatible en C++, ils en existent une foultitude: gtk+, wxwidgets...Je me demande s'il y a un autre logiciel beaucoup mieux que Qt.
Perso, pour développer des interfaces graphiques j'utilise Qt car c'était, à l'époque où je m'étais posé la question, la bibliothèque pour laquelle les doc et tutoriaux de qualités étaient les plus disponibles. Une autre spécificité de Qt est que ce n'est pas seulement une bibliothèque graphique, c'est également une couche d'abstraction pour le réseau, les threads ...
Bonjour,
ça veut dire quoi «beaucoup mieux que Qt» (plus simple à utiliser, widgets différents) ?
Déjà quelle est ta plateforme de développement (windows/linux/mac) ?
Quel est ton environnement de développement (simple éditeur/vs/emacs) ?
Re.
Merci à tous et à toutes de vos réponses
Beaucoup mieux, je ne sais pas trop ce que ça veut dire.Oui, plus simple à utiliser, en plus il réalise une bonne interface graphiquement.ça veut dire quoi «beaucoup mieux que Qt»?
La plateforme de développement est windows XP.
L'environnement de développement est Dev-C++.
Dev-C++ est un choix ou une contrainte ?
Si c'est un choix alors le plus simple est de changer, utiliser QtCreator si tu choisis Qt, Visual C++ si tu préfères les widgets natifs de XP, par exemple mais il y en a une tonne d'autres.
Si c'est une contrainte, bah non ... il faut toujours passer par une phase d'apprentissage du toolkit que tu choisis et te plier aux outils annexes (qmake je crois pour Qt par exemple). Il y a des tutos disponibles et lou_ibmix_xi t'a donné les 3 principaux toolkits (Qt, Gtk, wxWindows).
Quant à l'aspect visuel, normalement c'est toi qui en est maître dans une certaine mesure ; de toute façon sous XP tout aura une apparence plus ou moins similaire quel que soit le toolkit choisi.
Non c'est un choix, donc c'est mieux d'utiliser Qtcreator. Est ce qu'il y a une possibilité d'inclure les bibliothèques Gtk et wxWindows dans le projet (sous Qt)?Dev-C++ est un choix ou une contrainte ?
Si c'est un choix alors le plus simple est de changer, utiliser QtCreator si tu choisis Qt, Visual C++ si tu préfères les widgets natifs de XP, par exemple mais il y en a une tonne d'autres.
Si c'est une contrainte, bah non ... il faut toujours passer par une phase d'apprentissage du toolkit que tu choisis et te plier aux outils annexes (qmake je crois pour Qt par exemple). Il y a des tutos disponibles et lou_ibmix_xi t'a donné les 3 principaux toolkits (Qt, Gtk, wxWindows).
Quant à l'aspect visuel, normalement c'est toi qui en est maître dans une certaine mesure ; de toute façon sous XP tout aura une apparence plus ou moins similaire quel que soit le toolkit choisi.
C'est toujours une mauvaise idée de mélanger les toolkits. Le plus simple est de faire un choix et de s'y tenir.
Comme c'est tes premiers pas dans la création d'une interface, le plus simple est d'utiliser un outil qui te permet de le faire à la "graphiquement". Il y a des solutions pour chaque toolkit
Il y a QtCreator pour Qt, wxDevC++ (trouvé par google) pour wxWin intégré à devC++, Visual C++ pour utiliser les outils microsoft. Ces trois là sont bien intégrés dans un IDE. Concernant Gtk, il y a Glade qui te permet de construire rapidement une interface, le reste (connecter les comportements à l'interface) doit être fait plus manuellement dans un autre outil (sous linux c'est un peu plus intégré dans un outil comme anjuta mais sous windows .... aucune idée).
Je pense que l'outil avec le meilleur support en cas de problèmes (et forcément tu en auras beaucoup dans ta phase d'apprentissage) est QtCreator, mais là je m'avance sans trop connaître. Tu auras un bon support pour visual C++ certainement aussi. Le support Gtk est plus orienté linux mais ça fonctionne bien sous windows. Quant à wx ... je ne sais pas trop.
Si vraiment tu as envie de développer plusieurs interfaces avec différents toolkit il faudra prendre cette contrainte en compte dès la phase de conception. Si c'est juste pour changer en cours de route si ça ne te convient pas ce sera beaucoup beaucoup plus difficile.
Je ne vois pas trop ce qu'on peut reprocher à Qt. C'est une solution pérenne et gratuite pour une utilisation personnelle.
A+
Bonjour,
C'est ce que j'utilise exclusivement - tant qu'il s'agit de C++ -, et je ne connais qu'un problème : la gestion des QString est lente, très lente, très très lente par rapport à ce qu'on peut faire.
Comme je n'utilise pas très intensément les chaînes de caractères, ça ne me gêne pas plus que ça, mais je connais quelqu'un qui a complètement réécrit la classe ! (Impossible de la donner, c'est du travail fait pour une entreprise, qui est donc propriétaire du code).
Bonsoir,
Je suppose que QString est la classe d'utilisation des chaines.
Personnellement je travaille avec Borland, et les chaines se gèrent avec AnsiString.
Cette information m'intéresse, l'ai lu les 3 raisons pour les quelles Borland avait crée cette classe (malheureusement impossible de retrouver l'article), mais je comprends parfaitement qu'il peut y avoir un souci.
A titre personnel, dans la plupart des cas, j'en suis resté à char *.
C'est bon à savoir. On peut peut-être dans ce cas ne les utiliser que pour les widgets et travailler avec std::string?la gestion des QString est lente, très lente, très très lente par rapport à ce qu'on peut faire.
Bonjour,
C'est envisageable, mais si tu ne veux pas de QString, autant utiliser la classe string standard de C++.
Je rappelle que si on n'utilise pas intensément les chaînes, il n'y aura pas de problème avec QString.
Intensément, signifie ici beaucoup et fréquemment, genre des milliers de chaînes, utilisées des centaines de fois pas seconde ! bref, une situation plutôt rare quand même.![]()
Je n'ai joué qu'avec QtCreator, mais j'ai un énorme reproche à lui faire: je n'ai pas trouvé le moyen de faire des tableaux de widgets, donc lorsque l'on a plusieurs widgets identiques, le code généré les identifiera une à une avec des noms différents, ce qui empêche d'y accéder grâce à une boucle par exemple... Je précise que je n'ai pas insisté longtemps (donc je suis peut-être passé à côté de la solution) car je ne fais que très rarement de l'IHM, et se les frapper "à la main" n'est pas franchement méchant...Comme c'est tes premiers pas dans la création d'une interface, le plus simple est d'utiliser un outil qui te permet de le faire à la "graphiquement".
Pour ce qui est de la comparaison QT / GTK+ (les seules bibliothèques graphiques avec les-quelles j'ai joué sérieusement), je conseillerai Qt, bien que je sois allergique au C++, et énorme fan du C, et ce pour la seule raison de la documentation: les docs Qt sont vraiment complètes, on trouve des tutoriaux pour tout les niveaux, et des bouquins à profusion. La situation est (était? la dernière fois que j'ai fait du GTK+ c'était il y a 3/4 ans) moins rose pour GTK+: j'ai dû souvent aller regarder dans les sources pour pallier à la défficience de la doc, on trouve des tutoriaux pour débutants ou confirmés, mais pas au niveaux intermédiaires, et à l'époque je n'avais trouvé qu'un seul bouquin sur GTK+
C'est pour cela que j'ai parlé de widgets. Leur propriété text est une instance de QString.mais si tu ne veux pas de QString, autant utiliser la classe string standard de C++
Bonjour,
J'avais compris. Mais moi je te parle de string, classe standard dans la Standard Template Library de C++, fournie avec tous les compilateurs, alors que toi tu citais des char*, ce qui est différent.![]()
Non, relis-moi bien, je parlais de std::string qui est l'implémentation des chaines dans la librairie standard de C++alors que toi tu citais des char*, ce qui est différent.