Variable globale dans Qt, comment?
J'utilise Qt et dans la méthode main, j'ai besoin de déclarer un objet que j'ai besoin de l'utiliser dans tous mes autres fichiers. Comment puis-je accéder à cet objet dans les autres fichiers? (J'ai besoin global..)
Je suis l'utiliser pour le développement sur iPhone et là, nous avons l'appDelegate que vous pouvez utiliser tous les plus de l'application pour atteindre les objets que vous avez déclaré dans applicationDidFinishLaunching méthode. Comment puis-je faire la même chose dans Qt?
Vous devez vous connecter pour publier un commentaire.
global_objects.php
global_objects.cpp
Et puis
#include "global_objects.hpp"
dans chaque endroit où vous avez besoinmyGlobalInt
.Vous devriez lire C++ singleton ou mondial objet statique et L'initialisation de l'intervalle qt ressources incorporées dans la bibliothèque statique ainsi.
extern
mot-clé dans le .php fichier -- cela va instanciermyGlobalInt
chaque fois que le php est inclusDans Qt il est le singleton QApplication, avec sa méthode statique QApplication::instance() qui vous donne le seul et unique objet QApplication dos.
Il a de nombreuses autres fonctions membres statiques (en plus tôt, ils étaient appelés "globals"), pour la mainwindow, la fenêtre active, etc.
http://doc.trolltech.com/4.5/qapplication.html
Vous pouvez sublass si vous voulez ajouter votre propre statique.
En général, vous ne devriez pas utiliser de variables globales dans la programmation orientée objet. Dans votre cas, vous pouvez résoudre le problème en fournissant statique des fonctions d'accès à la variable dans votre classe principale. Vous devez être conscient, cependant, que c'est un peu contraire à la programmation orientée objet.
En outre, vous pouvez tirer votre application principal de QApplication et ajouter l'accès à des fonctions là, l'accès à l'objet principal par le biais de la
qApp
pointeur fourni par Qt.En outre, vous pouvez toujours utiliser une variable globale de la même façon vous pouvez le faire en C, mais je ne recommande pas que.