VS中的QT设计器
1 自定义槽函数
右键没有转到槽 自动添加槽的功能,需要手动添加下
比如:
private slots:
void Btn_OpenClick();
#include #include "ui_QtGuiApplication1.h"class QtGuiApplication1 : public QDialog{Q_OBJECTpublic:QtGuiApplication1(QWidget *parent = Q_NULLPTR);private:Ui::QtGuiApplication1Class ui;private slots: void on_chkBoxUnder_clicked();void Btn_OpenClick();};
#include "QtGuiApplication1.h"#include QtGuiApplication1::QtGuiApplication1(QWidget *parent): QDialog(parent){ui.setupUi(this);}void QtGuiApplication1::on_chkBoxUnder_clicked(){int i = 0;i++;}void QtGuiApplication1::Btn_OpenClick(){QMessageBox msg;msg.setText("HelloWord!");msg.exec();}
2 QT设计器中关联槽函数
这样定义后,QT设计器就可以关联槽函数
QT槽函数 默认关联关系
setupUI()里发现了如下的一条语句:
QMetaObject::connectSlotsByName(QtGuiApplication1Class);
connectSlotsByName(QWDialog) 函数将搜索 QWDialog 界面上的所有组件,将信号与槽函数匹配的信号和槽关联起来,它假设槽函数的名称是:
void on__();
例如,ID为 chkBoxUnder, 自动生成的槽函数是:
void on_chkBoxUnder_clicked(bool checked);
按这种格式书写槽函数后,
connectSlotsByName() 就会将此信号和槽函数关联起来,如同执行了下面的这样一条语句:
connect(chkBoxUnder, SIGNAL(clicked (bool)),this, SLOT (on_chkBoxUnder_clicked (bool));