使用std :: bind

时间:2018-07-13 08:18:57

标签: c++ qt

我有很多QActions,我想将他们的triggered(bool)信号连接到一个特定的插槽,该插槽获得一个整数作为输入,例如setX(int x)。我需要在连接回调中指定x。例如:

connect(actionV, &QAction::triggered,
        this, &TheClass::setX /* somehow x=10 */);

我尝试使用std::bind,但不起作用:

connect(actionV, &QAction::triggered,
        std::bind(this, &TheClass::setX, 10));

1 个答案:

答案 0 :(得分:1)

您可以使用lambda轻松解决此问题:

connect(actionV, &QAction::triggered, [&] { 
   m_theClass.setX(10);
}