slot

Mattepuffo's logo
Qt, signal e slot

Qt, signal e slot

Ho cominciato lo sviluppo di un programmino in C++ e le Qt.

Con Qt-Creator, l'IDE ufficiale per lo sviluppo cone le Qt, ho creato un progetto Qt Widget Project -> Qt Gui Application.

Mi sono ritrovato con una QWindow e dall'editor grafico ho aggiungo due QAction al menu.

A questo punto il problema era: come fare a collegare un'azione/evento alla voce del menu (QAction)?

Bene, vediamo come fare.

I file che ci interessano sono mainwindow.h e mainwindow.cpp.

In pratica dobbiamo aggiungere una funzione che poi collegheremo alla QAction.

Inizialmente i file erano questi:

    #ifndef MAINWINDOW_H

    #define MAINWINDOW_H

    #include <QMainWindow>

    namespace Ui {

        class MainWindow;

    }

    class MainWindow : public QMainWindow

    {

        Q_OBJECT

    public:

        explicit MainWindow(QWidget *parent = 0);

        ~MainWindow();

    private:

        Ui::MainWindow *ui;

    };

    #endif // MAINWINDOW_H

    #include "ui_mainwindow.h"

    #include "mainwindow.h"

    MainWindow::MainWindow(QWidget *parent) :

        QMainWindow(parent),

        ui(new Ui::MainWindow)

    {

        ui->setupUi(this);

    }

    MainWindow::~MainWindow()

    {

        delete ui;

    }

I file predefiniti dopo la creazione del progetto.

A questo punto dobbiamo creare una funzione che venga eseguita al click sulla voce del menu (o all'esecuzione della scorciatoia da tastiera che è possibile impostare anche dall'editor grafico).