Façon la plus simple d'ajouter une interface C++ app
Je suis à produire un morceau numérique logiciel en C++ et que vous souhaitez ajouter une interface graphique (principalement pour Windows). Je sais comment produire des Interfaces graphiques à l'aide de confortable éditeurs en langues modernes tels que Java ou .NET. Maintenant, ma question est quelle est la la plus facile et la plus confortable pour ajouter une interface frontend pour mon programme. Dans le choix des outils d'suis complètement libre (open source et la portabilité serait bien), mais s'il vous plaît gardez également à l'esprit la façon dont beaucoup de code réutilisable et les interfaces qui doivent être respectées sont nécessaires si l'interface graphique est mis en œuvre dans une autre langue (Comme le C#).
S'il vous plaît ne pas suggérer l'ensemble du projet de C++! Et notez que le programme ne nécessite pas beaucoup d'interaction entre le code C++ et le GUI.
Des propos de Qt? Excellente IDE et outils, de plus il est disponible sous la licence LGPL.
Pas grand en comparaison par exemple à VS10 avec Visual Assist X installé. Mais pourquoi ne pas faire une réponse? @User: C'est probablement une meilleure question pour les Programmeurs.SE étant donné que c'est subjectif.
FLTK est certainement la méthode la plus simple solution de rechange - fltk.org
OriginalL'auteur Johannes Gerer | 2011-06-03
Vous devez vous connecter pour publier un commentaire.
Les déclarations à propos de l'ISO C++ dans cette réponse, les commentaires sont peu modifiés. Aucune des solutions présentées ici s'imposer sur le code de calcul d'une exigence de changer pour un autre dialecte de C++. Le code de la GUI lui-même pourrait être une autre histoire.
Les réponses sur l'utilisation de Windows Forms avec le C++ sont probablement le plus pratique. Beaucoup de l'INTERFACE utilisateur code serait dans un dialecte (extension) de C++ où la .NET-garbage collector de pointeurs vivant aux côtés de la traditionnelle ISO C++ les pointeurs. Je n'ai pas utilisé cette méthode mais de ce que j'ai lu, il peut être mieux que ce que j'ai utilisé.
MFC pourrait être plus pratique si vous ne voulez pas investir dans .NET de connaissances pour cette tâche. Il utilise la norme C++ constructions à envelopper l'API Windows. L'API Windows utilise un appel particulier de la convention que le C++ n'a pas l'habitude d'utiliser, et il prend une extension de C++ pour travailler avec cela, mais ce n'est pas différent que d'avoir un programme en C++ qui appelle certaines fonctions qui sont extern "C". Visual Studio dispose d'une interface utilisateur de l'outil qui est vraiment bon à la mise en page des dialogues et à l'interfaçage la boîte de dialogue des widgets à des variables qui reflètent l'état des widgets. J'ai utilisé cette. Si vous pouvez faire bouillir de votre interface vers le bas à une boîte de dialogue alors ce serait une excellente option, sinon vous seriez à l'aide de l'un des MFC disposition géré par windows.
Évidemment les options ci-dessus ne gèrent pas d'autres plates-formes que vous pourriez avoir à l'esprit.
Il y a également divers outils qui sont nés sur d'autres plates-formes et ont été dignement porté sur Windows. GTK, QT, FLTK, et WxWindows viennent à l'esprit. Je n'ai pas utilisé de la boîte de dialogue mise en page/concepteur de l'application des outils de travail avec ceux-ci, et je n'ai pas utilisé QT. Lorsque j'ai examiné pour la dernière fois QT il avait un prétraitement passer pour le code de la GUI. Autre que ces portables des trousses de pure ISO C++ pour autant que je sais.
Comme un vraiment-il y a une option pourrait programme pour le Système X Window protocole à l'aide de "alors libx". Autant que je sache, cela impliquerait pas de non-ISO code C++.
OriginalL'auteur cardiff space man
Qt est un choix décent. Il est stable, a une belle interface C++ (par opposition à la MFC) et dispose d'un pratique outil de concepteur.
Les frais généraux de l'apprentissage à partir de zéro peut cependant être plus que ce que vous êtes prêt à investir. Il a une certaine courbe d'apprentissage.
qu'est-ce que vous l'appelez?
Un outil. Une langue. Nous ne les appelons pas
lex
etyacc
(ouflex
/bison
) C bibliothèques, même si vous mettez un code C en eux et qu'ils génèrent.c
fichiers. C'est dommage vraiment qu'ils comptent sur prétraitement -- tout le prétraitement n'a que du bon (signaux/slots) sont possibles dans du C++ (dans "l'ère moderne" au moins, pas quand l'intervalle Qt a été conçu). (Dans mon expérience, la "réflexion" est utilisé uniquement pour cacher des problèmes avec les gens de dessins.) C'est frustrant parce que Qt est un de haute qualité de la bibliothèque dans à peu près tous les autres points.J'ai utilisé la "réflexion" pour créer un créé dynamiquement l'interface graphique. c'est un assez gros "simplement"
OriginalL'auteur shoosh
wxWidgets serait un bon choix pour une plate-forme de graphique pour C++
OriginalL'auteur Sandeep
Autant que j'aime le C++, il est difficile de construire une interface graphique avec. Je voudrais construire un rapide C#, WinForms application qui vous permettent d'utiliser des choses comme Visual Studio, visual concepteurs (Glisser et déposer des boutons et par exemple), et appelez votre application C++ à l'aide de P/Invoke.
C++ va souvent produire plus lisse et plus agréable des Interfaces graphiques, mais il faut un peu plus de travail de la boîte.
Je ne parle pas de C++/CLI. (Autant que je sache, vous obtenez les concepteurs visuels il dans tous les cas)
Je voulais dire: BTW, ne pas envisager de faire toutes les Interfaces graphiques en C++/CLI. Je ne voulais pas sonner comme je suis en désaccord avec votre réponse, plus d'un côté les commentaires d'autres lecteurs. Il est sûrement le concepteur, mais j'ai passé par là et a failli faire un projet important en raison de le faire. Le concepteur en C++/CLI est très bogué et limitée par rapport à C#.
OriginalL'auteur Billy ONeal
Si ça va être juste une interface simple, composée principalement de contrôles standard, je le ferais avec les MFC. C'est peut-être obsolète et n'a jamais été vraiment bon, mais il est toujours utile d'avoir un native interface utilisateur Windows le plus rapidement possible.
OriginalL'auteur x4u
Je dois rire à toutes les façons de la peau, ce chat. La vie est bonne. Ma réponse est un produit que je gère. XVT peut le faire pour vous. La façon la plus simple est de nous le faire pour vous ou vous donner un modèle pour y arriver. C'est juste une question de si vous avez plus d'argent que de temps. Alors je vous regarde-nous. Il serait le plus rapide et le moins d'effort de votre part.
OriginalL'auteur Peter Hayman
Boîte de Dialogue MFC application Basée pourraient répondre aux besoins.
OriginalL'auteur Farshid Zaker
En fonction de ce que vous avez besoin, il y a une belle imgui faite par Mikko flottant autour de que vous pouvez il suffit de brancher et de l'utiliser assez rapidement. Il est fait en opengl mais afin de ne pas être votre windows standard-interface graphique, mais il est vraiment petit et vraiment facile à travailler avec. Vous pouvez télécharger r'lyeh version ici: http://code.google.com/p/colony9/source/browse/include/goo/imgui.h.
Que c'est plus facile et plus confortable façon, je sais, il est tributaire de la SDL.
OriginalL'auteur Simon