IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

ajouter QGraphicsView dans QWidget

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 171
    Par défaut ajouter QGraphicsView dans QWidget
    je veux ajouter un QGraphicsView à un QWidget
    voila le code
    dans le constructeur de la classe Fenêtre qui hérite de QWidget
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
       QGraphicsView *view;
        QGraphicsScene scene;
        scene.setForegroundBrush(QColor(255, 255, 255, 127));
        scene.setBackgroundBrush(Qt::blue);
        scene.addText("Hello, world!");
     
        scene.addRect(12,2,34,66);
        view=new QGraphicsView(&scene, this);
        view->setBackgroundBrush(Qt::blue);
    sa n'affiche que me cadre de view rien d'autre.
    par contre si je met le même code a l'extérieur de constructeur sa marche ??

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Par défaut
    Quelle est la porté de pointeur *view ? Ca devrait répondre à ta question.

    G.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 171
    Par défaut
    oui effectivement, quand j'est declaré view comme variable global (extern) sa marche.
    donc récapitulant :
    si ont veut qu'une fenêtre contienne un objet de type QGraphicsView, ce dernier doit avoir une porté égale a celle du programme. c'est sa?
    pourriez-vous donnée plus d'explication.

  4. #4
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Par défaut
    Tu devrais peut etre aussi voir ce que c'est qu'un variable membre d'un classe en C++. Cela peut surement te servir. Il est quand meme preferable d'eviter les extern en C++.
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  5. #5
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par Gulish Voir le message
    Quelle est la porté de pointeur *view ? Ca devrait répondre à ta question.

    G.
    c'est pas plutôt la porté de
    qui pose problème?

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Par défaut
    Citation:
    Envoyé par Gulish
    Quelle est la porté de pointeur *view ? Ca devrait répondre à ta question.

    G.
    c'est pas plutôt la porté de
    Code :
    QGraphicsScene scene;
    Oui en effet, autant pour moi. Si l'affichage ne se fait pas, c'est parce que "scene" est détruit. Mais les deux disparaissent finalement (même si l'instance crée à partir du pointeur reste).

    L'idée est que lorsque tu déclares une instance d'objet (pas à partir d'un pointeur) dans une fonction, une boucle ou encore un constructeur, cet objet est automatiquement détruit à la fin de cette fonction, boucle ou encore constructeur. Et cela est vrai dans la majorité des langages.

    La solution générale est donc de définir ces objets/pointeurs en tant que données membres de ta classe.

    G.

Discussions similaires

  1. ajout evenements dans le fichier CSS
    Par cosminutza dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 20/11/2004, 14h50
  2. Ajout entier dans liste
    Par goutbouyo dans le forum Windows
    Réponses: 3
    Dernier message: 20/08/2004, 21h54
  3. Ajout Menu dans un PopupMenu
    Par Larion dans le forum C++Builder
    Réponses: 6
    Dernier message: 15/08/2004, 12h45
  4. Problème d'ajout multiples dans un BDD Access
    Par arnaud_verlaine dans le forum Langage SQL
    Réponses: 3
    Dernier message: 31/05/2004, 13h34
  5. [debutant] ajouter ImageIcon dans un Jbutton
    Par agugu dans le forum Composants
    Réponses: 4
    Dernier message: 25/04/2004, 22h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo