Qt信号与槽的三种关联方法:
1.设计界面关联,编辑信号/槽,自动关联
2.手动关联
(1).头文件中定义槽
-----mywidget.h-----
#ifndef MYWIDGET_H #define MYWIDGET_H #include <QWidget> namespace Ui { class MyWidget; } class MyWidget : public QWidget { Q_OBJECT public: ); ~MyWidget(); private: Ui::MyWidget *ui; public slots: void onBtn1(); }; #endif // MYWIDGET_H
(2).C++类中实现槽
(3).C++类构造函数关联槽
-----mywidget.cpp-----
#include "mywidget.h" #include "ui_mywidget.h" #include <QDialog> MyWidget::MyWidget(QWidget *parent) : QWidget(parent), ui(new Ui::MyWidget) { ui->setupUi(this); connect(ui->btn1, SIGNAL(clicked()), this, SLOT(onBtn1())); } void MyWidget::onBtn1() { QDialog * dlg = new QDialog(this); dlg->show(); } MyWidget::~MyWidget() { delete ui; }
3.自动关联
(1).头文件中定义槽,槽名"on_组件名_信号名"(Ctrl+Shift+R可以批量重命名)
(2).C++类中实现槽