J'apprends le C ++ depuis environ un mois maintenant, et avant d'aller plus loin, j'aimerais clarifier cette fastidieuse question que je continue de poser. Je sais ce qu'est une interface graphique, mais je ne sais pas vraiment comment cela fonctionne, et peut-être des exemples de populaires?
Bien que je sache que la programmation en ligne de commande n'est que le principe de base, je pense que ce serait amusant de jouer avec une interface graphique.
Bien que j'ai environ 3 millions d'autres questions, je vais les enregistrer: D
Réponses:
Je généralise sur quelques bibliothèques d'interfaces graphiques, mais à un très haut niveau, le concept le plus important que vous devez comprendre est qu'une interface graphique est pilotée par les événements .
Dans une application console, votre entrée utilisateur se produit généralement à certains points que vous avez définis. Vous invitez votre utilisateur, vous attendez son entrée, vous calculez quelque chose en fonction de cette entrée. L'une des principales différences est que l'entrée ne se produit qu'à un seul endroit, vous lisez du texte à partir de la ligne de commande (
stdin
en C ++).Dans une application GUI, vous avez généralement plusieurs endroits où la saisie peut avoir lieu, par exemple des boutons qui effectuent différentes actions ou des champs de texte. C'est là que les événements entrent en jeu. Par exemple, cliquer sur un bouton déclenche un événement. Cet événement doit être géré par un gestionnaire d'événements , qui n'est généralement qu'une méthode qui prend un objet événement et est appelé lorsqu'un tel événement est déclenché. Comment votre bouton connaît-il le gestionnaire d'événements? Vous vous abonnez généralement (ou écoutez- le).
Voici un exemple "inspiré de C ++", ce n'est pas du code QT ou C ++ réel.
Lorsque vous créez le Button, vous enregistrez une instance de la classe MyClickHandler contre le bouton.
Maintenant, chaque fois que le bouton
b
est cliqué, une boîte de message s'affiche en disant "Le bouton Enregistrer a été cliqué".Vous pouvez imaginer qu'une application GUI comporte deux étapes:
Ceci est un exemple très simple, mais je recommanderais, quel que soit le cadre que vous choisissez, d'afficher une boîte de message lorsqu'un bouton est cliqué.
Pour le framework, il y en a beaucoup: dans le cas de C ++, je recommanderais probablement Qt.
Un dernier conseil: éloignez-vous des concepteurs d'interface graphique jusqu'à ce que vous sachiez vraiment ce qui se passe en arrière-plan. Il n'est pas si difficile d'écrire quelques exemples simples et de comprendre d'abord la boucle d'événements, puis de passer à des dispositions plus complexes.
la source
Il est maintenant aussi bon que jamais d'apprendre le porgramming GUI. Comme vous le savez C ++, je recommanderais de regarder QT. Grande documentation, vaste base d'utilisateurs et beaucoup d'exemples / tutoriels disponibles pour apprendre.
la source
Vous pouvez également commencer avec Microsoft Visual Studio C ++ Express . L'IDE est très convivial et facile à utiliser (et gratuit!), Et vous pourrez créer vos premières applications GUI très rapidement ... Ce qui vous aidera à vous concentrer sur la compréhension des bases de la programmation événementielle , une approche différente que vous devrez maîtriser.
Vous pouvez également commencer directement par la création d'applications pilotées par WPF, mais je commencerais par Windows Forms au début, c'est une technologie de moins à saisir car il s'agit simplement de C ++ de base avec l'API Windows Forms de Microsoft.
la source
Peut-être plus adapté à StackOverflow, étiqueté c ++; mais peu importe.
Regardez-en quelques-uns sur google; Qt, WxWidgets, TheForgers 'WinApi, Fltk ...
Les interfaces graphiques ne sont pas si difficiles à utiliser, surtout une fois que vous connaissez déjà le c ++. Allez avec WxWidgets je pense; Qt est un peu trop complexe pour un mois d'apprentissage. Vous pouvez récupérer Wx en quelques heures.
la source
Les utilisateurs n'aiment pas les choses compliquées. La console est une chose compliquée, c'est pourquoi vous devez créer des applications GUI plus conviviales et faciles à comprendre. C'est la raison la plus évidente que je vois. Vous pouvez regarder gtk ou Qt - ces deux-là sont les plus populaires.
la source