Qt5如何添加信号和槽

对于刚入门来说,自己了解到信号和槽的创建方式有两种,这里暂且称他们为静态创建和动态创建。

 何为静态创建和动态创建呢?这里我们以按钮pushButton为例。假设我们已经创建好了Dialog窗口,

 然后我们在窗口上面放置按钮,如下图所示。此时我们可以看到在文件ui_dialog.h中会自动添加如下

按键创建的代码。

此时,我们只要在转到设计的ui界面上,将鼠标放置于pushButton上面,点击右键,选项“转到槽...”,

此时会出现如下窗口,若是选择按钮单击有效则选择click(),然后点击OK。此时将会自动生成如下函数并

跳转至该函数


void Dialog::on_MyButton_clicked()
{
//添加你所想要的操作
}
 
 

若是想要动态创建按钮,则不用先在窗口上面放置按钮控件,而是直接在代码中添加创建。如下所示,

我们现在Dialog.h文件中定义一个按钮指针以及一个槽,然后在Dialog.cpp初始化构造函数中添加按钮

 创建、位置的设置以及槽和信号的设置。


最后再自己在Dialog.cpp文件中实现槽函数void on_MyButton_clicked()。