gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 00:36:29 25 4
gpt4 key购买 nike

为什么我无法连接操作以在触发时调用函数?我以为我已经理解了这个 source 的语法表示可以直接调用函数。

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");
}

错误:无效使用非静态成员函数 'void QAction::triggered(bool)

                                         ^

最佳答案

您需要将指向函数的指针传递给connect。您还需要传入一个指向接收对象的指针:

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

注意 QAction::triggered 之前的“&”。

关于c++ - Qt5 C++ 将触发的 QAction 连接到成员函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21715386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com