摘要
在VS环境下进行QT编程时,QT Designer 没有“转到槽”选项。原因:“转到槽”是 QT Creater的功能,QT Designer 下,可通过自定义槽函数实现。
对象关系梳理
我们通过ui文件所创建的控件或动作都是一个个的对象。这些对象都在×××Window
类里面,通过 ui->button
的方式可以在构造函数中访问到。通过connect函数将信号和槽进行连接就可以实现对ACtion的响应。
Qt的”转到槽“按钮底层实现也大差不差。照猫画虎我们自己写个槽函数实现。如果不想写connect函数,则槽函数的命名需要按照一定的规范。
void on_<object name>_<signal name>(<signal parameters>);
来个例子
// .h
class MainWindow : public QMainWindow
{
private slots:
void on_actionAddTaskA_triggered();
};
//.cpp
void MainWindow::on_actionAddTaskA_triggered()
{
qDebug() << 123;
}
这里有个小细节,triggered是Action的消息,这个对象有triggered消息,所以才能响应。如果换成clicked则不会响应。