Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Aggiungere classi e metodi



  • Ciao

    sono alle prime armi di Qt e della programmazione a oggetti.

    Ho il seguente problema.

    Ho un programma strutturato in questo modo :

    *MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    
    {
        ui->setupUi(this);
    
    … my code ..
      }
    
    void MainWindow:: polling_init()
    {
       --- INSERIRE QUI --- 
    }*
    

    Ora voglio aggiungere la seguente riga di codice:

    alert->isAlertTime()
    

    utilizzata in un altro programma.

    E so che questa usa la libreria:

    #include <myLib2020.h>
    

    Non ho ben capito come dichiararla nel costruttore e distruttore :O



  • @Montanaro
    Metti nei membri privati della MainWindow la tua variabile alert e poi nel ctor della Mainwindow lo chiami! Se lo vuoi mettere anche nei dtor diventa qualcosa tipo ~Mainwindow() { alert->isAlertTime(); }



  • cioè nel file mainwindow.h dichiaro

    private:
    void alert();
    

    e poi scrivo nel mainwindow.cpp:

    void MainWindow:: polling_init()
    {
       alert->isAlertTime();   
    }
    

    mi sa che ho provato ma non funziona.
    comunque riprovo

    p.s.polling_init() è uno slot.
    Lo lancio cosi:

    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    
    {
        ui->setupUi(this);
    
    connect(timer, SIGNAL(timeout()), this, SLOT(polling_init()));
      }
    


  • @Montanaro se alert e' un'atra classe devi definirlo con la tipologia della classe!



  • @guerinoni

    alert appartiene alla classe MyClass

    E' questo il problema.
    Mi porta sempre errore quando provo ad aggiungerlo. Non so come si fa :(



  • @guerinoni said in Aggiungere classi e metodi:

    @Montanaro se alert e' un'atra classe devi definirlo con la tipologia della classe!

    alla fine ci sono riuscito.
    l'errore non era nella dichiarazione della classe ma nel file .pro.
    avevo dimenticato di aggiungere la libreria :)


Log in to reply