Qt5 C++将触发的 QAction 连接到成员函数



为什么如果触发,我无法连接操作以调用函数?我以为我已经根据这个来源理解了语法这说明可以直接调用函数。

void Traymenu::createMainContextMenu(){
    QAction *actionNewNote = mainContextMenu.addAction("Test Func");
    QObject::connect(actionNewNote,QAction::triggered,Traymenu::testFunc);
    mainIcon.setContextMenu(&mainContextMenu);
}
void Traymenu::testFunc(){
    printf("test func");
}

错误:invalid use of non-static member function 'void QAction::triggered(bool)

                                         ^
您需要将

指向函数的指针传递到connect中。 您还需要传入指向接收对象的指针:

QObject::connect(actionNewNote, &QAction::triggered, this, &Traymenu::testFunc);

请注意QAction::triggered前面的"&"。

相关内容

  • 没有找到相关文章

最新更新