// mainwindow头文件
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT // 激活元对象系统
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
public slots: // 槽函数声明标志
void pushButton_clicked(); // 声明槽函数
private slots:
void on_pushButton_2_clicked(); // 没有connect手动关联的参函数 须以on_开头命名 在ui_mianwindow.h 中connectSlotsByName(MainWindow)自动关联
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
mainwindow源文件
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMessageBox>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
// 发送信号的对象指针名称; clicked函数是按钮支持的点击信号SIGNAL转换信号的宏;this接收信号的对象指针;SLOT转换槽函数的宏
connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(pushButton_clicked())); // 添加信号槽关联代码,放在setupUi函数之后
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::pushButton_clicked()
{
QMessageBox::information(NULL, "信号与槽手动关联", "信号接收成功");
}
void MainWindow::on_pushButton_2_clicked()
{
QMessageBox::information(NULL, "信号与槽自动关联", "信号接收成功");
}