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 :

Comment déclarer deux QSlider* sans faire planter mon application ?

  1. #1
    Membre averti
    Homme Profil pro
    C++
    Inscrit en
    Janvier 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : C++

    Informations forums :
    Inscription : Janvier 2013
    Messages : 45
    Par défaut Comment déclarer deux QSlider* sans faire planter mon application ?
    Bonjour à tous,
    J'ai un problème que je ne m'explique pas depuis midi, j'espère que vous pourrez m'aider, je suis à bout.

    Je voudrais créer une classe héritant de QWidget qui possède deux pointeurs de type QSlider.
    - Lorsque j'initialise le premier, tout va bien. L'application se lance.
    - Lorsque j'initialise le second, l'application plante. (!?) "Le programme s'est terminé subitement. [...] à quitté avec le code 0".

    Je précise que je suis sur Mac OS X Mountain Lion, avec QT5

    Voici mes codes sources :
    Fenetre :

    Fichier .h :
    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
     
    #ifndef FEN_H
    #define FEN_H
     
    #include <QWidget>
    #include <QSlider>
     
    class Fen : public QWidget
    {
        Q_OBJECT
    public:
        explicit Fen(QWidget *parent = 0);
     
    signals:
     
    public slots:
     
    private:
        QSlider *slider1;
        QSlider *slider2; // Si je commente cette ligne, l'app fonctionne.
    };
     
    #endif // FEN_H
    Fichier cpp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #include "fen.h"
    #include <iostream>
    using namespace std;
     
    Fen::Fen(QWidget *parent) :
        QWidget(parent)
    {
        slider1 = new QSlider(this);
        slider2 = new QSlider(this);
    }
    Et au cas où, voici le main :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
        Fen fen;
        fen.show();
        return app.exec();
    }

    Voilà enfin mon fichier .pro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    TEMPLATE += app
    QT += gui declarative
    SOURCES += \
        main.cpp \
        fen.cpp
    CONFIG +=app_bundle
     
    HEADERS += \
        fen.h


    Merci beaucoup d'avance pour votre aide

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 074
    Billets dans le blog
    144
    Par défaut
    Bonjour,

    Dans le code donné, je ne vois aucun problème, mais je peux vous suggérer de créer un QLayout pour contenir les deux slider dans un widget.

    Utilisez aussi le bouton debogue, pour comprendre mieux l'origine du bogue.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/07/2010, 11h58
  2. Réponses: 0
    Dernier message: 01/06/2010, 10h54
  3. Réponses: 5
    Dernier message: 07/05/2007, 10h44
  4. [vbexcel]Comment stopper une macro sans la planter.
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 30/11/2005, 14h45
  5. vba excel - Comment saisir une cellule sans faire entrer
    Par brethomeau dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/11/2005, 17h50

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