J'ai vu la description de Pouvez-vous simplement simplement strong> décrivez ce qu'il fait principalement? P>
Merci. P> qapplication code> dans la documentation
qt code>, mais n'est-ce pas clair. p>
3 Réponses :
C'est un espace réservé pour tout l'état mondial de niveau d'application qui existe dans une langue non-OO. P>
Pourquoi non-OO? QT est jolie oo sur une langue oo-capable (C ++).
@Mat: Je pense que vous avez peut-être mal interprété ma réponse. Une demande par ex. C a beaucoup d'état mondial qui doit être maintenu. qapplication code> prend la place de tout cet état mondial.
Pouvez-vous simplifier ce que vous voulez dire? Merci
Pas vraiment. Jetez un coup d'œil aux membres code> qapplication code> et réalisez que dans une application en C, la plupart d'entre elles seraient des variables globales ou des fonctions au lieu de collectées dans un seul objet.
La chose la plus importante à savoir sur qapplication est que sa méthode Pour le mettre simplement, s'il n'y a pas de boucle d'événement en cours d'exécution, les événements tirés par vos composants de l'interface graphique ne seront pas propagés du tout, de sorte que votre interface utilisateur ne fera tout simplement rien du tout. P>
Bonne réponse! Pouvez-vous simplement expliquer ce que vous entendez par: «... S'il n'y a pas de boucle d'événement courante, les événements tirés par vos composants d'interface graphique ne seront pas propagés du tout ...». Merci
@ user714961: Un programme d'interface graphique fonctionne toujours dans une boucle en attente du signal de travailler et de retourner à la boucle après avoir terminé un travail. Ceci est différent d'un programme de console, qui commence normalement, effectuez son travail, puis quittez.
< Strong> sans application Q *, vous ne pouvez exécuter essentiellement que le code QT séquentiellement fort>. Ce que je veux dire par là est: pas de minuterie QT, aucune interaction du système d'exploitation / utilisateur. Ce qui est parfois recherché, par exemple dans des tests d'unités. P> La boucle d'événement du fil principal démarre dès que vous appelez l'application Q * Selon votre type d'application, vous voudrez une saveur différente de cette classe pour éviter de tirer des dépendances inutiles: p> Vous créez généralement l'application Q * d'abord, initialisez la partie «statique» de votre application selon vos besoins, puis appelez un seul Pour copier la documentation de Les principaux domaines de responsabilité de QApplication sont les suivants: P>
L'une des méthodes que vous pouvez remplacer est q * application code> strong> est ce que garde l'application QT vivante en exécutant sa boucle d'événement principale forte>. Il traite tous les événements (souris, clavier, rafraîchir), emplacements de signaux, minuteries et la plupart des fonctionnalités QT nécessitant une sorte d'asynchronisme ou de manipulation d'événements (GUI, OS, ...). P>
exécuté () code>
méthode et bloque jusqu'à la sortie de l'application. P> Choisir la bonne requête Q * h2>
QcoreApplication code>
li>
qguapplication code> a > li>
qapplication code> a > li>
ul>
qapp-> exécu (exécuté () code> pour exécuter la boucle d'événement principal . Cette fonction bloquera jusqu'à ce que votre application se ferme. P>
q * application code> devrait exister dans votre application. Vous pouvez le contrôler avec sa variable locale ou le pointeur global
qapp code> le pointeur p>
RESPONSABILITÉ DÉTAILLÉES H2>
qapplication code>
classe: p>
QApplication :: événement code>
, qui vous donne un contrôle total sur la manière dont tous les événements sont traités dans votre application. Cela peut être fait soit en héritant de celui-ci, soit en utilisant la méthode Installeventfilter code>. P> h2>