Qt用新的表示法表示插槽,铸造类型

时间:2015-02-11 22:34:16

标签: c++ qt

鉴于以下两点:

connect(ui->comboBox, SIGNAL(activated(QString)), ps, SLOT(requestPlotsAvailable(QString)));
connect(ui->comboBox, &QComboBox::activated, ps, &PlotSystem::requestPlotsAvailable);

第一个使用旧的符号,它起作用。第二个使用新的表示法并给出错误

error: no matching function for call to 'PlotSystemGui::connect(QComboBox*&, <unresolved overloaded function type>)'

如何使用新表示法避免错误?

1 个答案:

答案 0 :(得分:9)

这应该有效

connect(ui->comboBox, 
        static_cast<void (QComboBox::*)(const QString &)>(&QComboBox::activated),
        ps,
        &PlotSystem::requestPlotsAvailable);

请参阅this关于重载函数指针的问题

相关问题