Partage
  • Partager sur Facebook
  • Partager sur Twitter

QT c++ getter

attribut "partagé"

Sujet résolu
    13 janvier 2020 à 15:30:30

    Bonjour,

    J'ai un petit problème sous QT, j'ai fait un exemple très simple pour vous montrer ce que je cherche à faire.

    interface.h

    #ifndef INTERFACE_H
    #define INTERFACE_H
    
    #include <QMainWindow>
    #include "feuille2.h"
    #include <QDebug>
    
    QT_BEGIN_NAMESPACE
    namespace Ui { class Interface; }
    QT_END_NAMESPACE
    
    class Interface : public QMainWindow
    {
        //friend class Feuille2;
        Q_OBJECT
    
    public:
        Interface(QWidget *parent = nullptr);
        ~Interface();
    
    private slots:
    
    
        void on_pushButton_clicked(); // button amenant vers feuille2
    
    
    private:
        Ui::Interface *ui;
        Feuille2 *f2;
    
    public:
        int x=1;   
        int getX(){return x;}
    
    public slots:
        void on_pushButton_2_clicked(); // button pour changer la valeur de x
    };
    #endif // INTERFACE_H


    interface.cpp

    #include "interface.h"
    #include "ui_interface.h"
    
    Interface::Interface(QWidget *parent)
        : QMainWindow(parent)
        , ui(new Ui::Interface)
    {
        ui->setupUi(this);
    
       // Interface::incr();
    
    }
    
    Interface::~Interface()
    {
        delete ui;
    }
    
    
    void Interface::on_pushButton_clicked()
    {
        f2 = new Feuille2(this);
        f2->show();
    
    
    }
    
    
    
    void Interface::on_pushButton_2_clicked()
    {
    
        x=10;
    
        qDebug() << x;
    
    }
    
    

    feuille2.h

    #ifndef FEUILLE2_H
    #define FEUILLE2_H
    
    #include <QMainWindow>
    
    
    namespace Ui {
    class Feuille2;
    }
    
    class Feuille2 : public QMainWindow
    {
        Q_OBJECT
    
    public:
        explicit Feuille2(QWidget *parent = nullptr);
        ~Feuille2();
    
    private:
        Ui::Feuille2 *ui;
    public:
    
    
    private slots:
        void test1();
    
    };
    
    #endif // FEUILLE2_H
    


    feuille2.cpp

    #include "feuille2.h"
    #include "ui_feuille2.h"
    #include <QThread>
    
    
    #include "interface.h" // moyen moins
    
    Feuille2::Feuille2(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::Feuille2)
    {
        ui->setupUi(this);
    
        ui->label->setText("Vue Globale");
    
        Feuille2::test1();
    
    }
    
    Feuille2::~Feuille2()
    {
        delete ui;
    }
    
    void Feuille2::test1()
    {
       // QThread::msleep(1000);
    
        Interface test;
    
    
        qDebug() << test.getX();
    
        
    }

    Donc mon problème c'est que je voudrais pouvoir obtenir la nouvelle valeur de x sur feuille 2, des idées ?




    -
    Edité par cavalievincent18 13 janvier 2020 à 15:31:59

    • Partager sur Facebook
    • Partager sur Twitter

    QT c++ getter

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown