首页 > 解决方案 > 单击按钮 QT 时将参数传递给函数

问题描述

刚开始使用 Qt(以及 C++),还没有真正习惯 SIGNAL/SLOT 系统。

我已将代码简化为:

int main()
{
int number = 1;
int * numptr;
numptr = number;
connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(start(numptr);
}

我有一个名为“pushButton”的按钮,当按下它时,我希望它启动一个“启动”函数,该函数将整数指针作为参数。

int start(int * number)
{
// Do something with the number
}

但这似乎不起作用。单击按钮时,如何调用函数启动并将数字指针作为参数传递?

标签: c++windowsqt

解决方案


最简单的方法是连接到lambda函数并捕获 numptr:

connect(ui.pushButton, &QPushButton::clicked, [numptr](){
    // Do something with the number
});

推荐阅读