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