In this post we will see how to add the click event to the QPushbutton with an example.
samples.pro
TARGET = Sample
QT = core gui
CONFIG += c++11
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
SOURCES += \
main.cpp
HEADERS += \
MyMainWindow.h
MyMainWindow.h
#ifndef MYMAINWINDOW_H
#define MYMAINWINDOW_H
#include <QPushButton>
#include <QMessageBox>
#include <QMainWindow>
#include <QVBoxLayout>
class MyMainWindow: public QMainWindow
{
Q_OBJECT
public:
MyMainWindow(){}
~ MyMainWindow(){}
void Execute()
{
QPushButton *button = new QPushButton(this);
QPushButton *button2 = new QPushButton(this);
button->setText("Button No. 1");
button2->setText("Button No. 2");
QObject::connect(button, SIGNAL(clicked()),this, SLOT(clickedSlot()));
QObject::connect(button2, SIGNAL(clicked()),this, SLOT(clickedSlot()));
button->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
button2->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
QWidget* centralWidget = new QWidget(this);
centralWidget->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
QVBoxLayout* layout = new QVBoxLayout(centralWidget);
layout->addWidget(button);
layout->addWidget(button2);
setCentralWidget(centralWidget);
setWindowTitle("Pushbutton Clicked Signal Test");
show();
}
public slots:
void clickedSlot()
{
QMessageBox msgBox;
msgBox.setWindowTitle("MessageBox Title");
msgBox.setText("You Clicked "+ ((QPushButton*)sender())->text());
msgBox.exec();
}
};
#endif // MYMAINWINDOW_H
main.cpp
#include <QApplication>
#include <QMainWindow>
#include "MyMainWindow.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MyMainWindow window;
window.setWindowTitle(QString::fromUtf8("MainWindow"));
window.resize(450,300);
window.Execute();
return app.exec();
}
OUTPUT

this is actually most useful code i ever got XD all other videos just suck…. ty very much for this sample