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

Qt Discussion :

problém de reference croisée pour recupérer la valeur d'un QspinBox


Sujet :

Qt

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 141
    Par défaut problém de reference croisée pour recupérer la valeur d'un QspinBox
    Bonjour,

    j'ai crée une classe Mainwindow avec un toolbar ou j'ai mis un spinbox dans une toolbar,le problem est que je veux recupérer la valeur du spin ds une autre classe mywidget sachant que j'ai deja un include de mywidget.h ds le mainwindow.h donc je peux pas faire aussi mainwindow.h dans le mywidget
    (pour recupérer la valeur de l'attribu spinvalue)
    j'ai essayé de faire avec les reference croisée

    le code donne à peu prés ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    mainwindow.h
    *********************
    class Mywidget ;// je definie ma classe Mywidget
    class mainwindow : public Qmainwindow{ public : int spinvalue ; //valeur du spin que jveux recupéré
                                                     .....
                                                          };
     
    mainwindow.cpp
    ********************
    include "mainwindow.h"
    include "Mywidget.h" //un include de mywidget
     
    //je crée mywidget quelque part mais c'est pas ca le problem
     
    QspinBox *spin = new Qspin..
    connect (...Slot(setvalue(int))
     
    void setvalue(int a)
    {
    this->spinvalue =a ;
    }
     
    mywidget.h
    ******************
    include maindow.h //pour recupérer la valeur de 'lattribu
    class mywidget : public Qwidget{
    Maindow * main ;
    }
     
    mywidget.cpp
    *******************
     
    mywidget::mywidget{
    int x = main->spinvalue ;
    et enfait ma fenetre ne se lance plus,par contre quand je commente le int x = main->spinvalue etc,elle se lance
    mais moi j'ai besoin de récupérer cette valeur,
    comment faire ?
    merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Par défaut
    Bonjour,

    Comment passe ta fenêtre MainWindow à ton widget ? Es-tu sûr de lros de l'exécution, ta variable main n'est pas nulle ?

    Et un conseil, évite de mettre tes variables en public dans ta classe MainWindow... préfere une fonction "get" qui permet de récupérer directement la valeur au bon endroit...

    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int mainwindow ::getSpinboxValue () {
       return ui.spinbox->value ();
       // ou
       return spin->value ();
    }

Discussions similaires

  1. Réponses: 5
    Dernier message: 15/01/2009, 09h45
  2. Réponses: 3
    Dernier message: 13/06/2008, 14h41
  3. Problème pour classer les valeurs d'un champ
    Par AjJi dans le forum Access
    Réponses: 11
    Dernier message: 06/04/2006, 09h19
  4. Réponses: 1
    Dernier message: 03/12/2005, 12h24
  5. problème pour récupérer une valeur dans ma bd (débutante)
    Par auryn111 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 26/08/2005, 17h49

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