c++ 将多个参数传递给槽Qt

s2j5cfk0  于 2023-06-07  发布在  其他
关注(0)|答案(1)|浏览(114)

我正在使用一个Qt水平滑块,我想将它的valueChanged信号连接到我定义的插槽。但是,由于我使用滑块设置的int,我需要访问这个插槽中的特定成员来修改变量。到目前为止,我的连接线看起来像这样:
connect(slider, SIGNAL(valueChanged(int)), this, SLOT(setVariable(int)));
是否可以将多个参数传递给我的插槽?我想做的是:
connect(slider, SIGNAL(valueChanged(int)), this, SLOT(setVariable(int, pointerToMember*)));
如果没有,我该如何继续?

63lcw9qa

63lcw9qa1#

是的,你可以,但是你需要使用新的连接样式,这样你才能传递lambda函数

connect(slider, &QAbstractSlider::valueChanged, this, [=](int &new_value) { this->setVariable(new_value, ... );});

编辑:此功能仅适用于Qt5及以上版本

相关问题