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).