gpt4 book ai didi

c++ - 将 QMenu::addAction 直接连接到 lambda(函数签名不匹配)

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:23:19 26 4
gpt4 key购买 nike

如何将 QAction 直接连接到 lambda 槽?

QMenu m;

工作:

QAction newSubfolder(QIcon(":/icons/newfolder.png"),tr("New Subfolder"),&m);
m.addAction(&newSubfolder);
connect(&newSubfolder,&QAction::triggered,
this,[this,p](){qDebug()<<"New Subfolder";});

不工作:

m.addAction(QIcon(":/icons/newfolder.png"),tr("New Subfolder"),
[this,p](){qDebug()<<"New Subfolder";});

错误:

No matching function for call to 'QMenu::addAction(QIcon, QString, FolderMenuWidget::showContextMenu(QPoint)::__lambda0)'
[this,p](){qDebug()<<"New Subfolder";});
^

是的,我看到了错误消息,但我不明白我需要为 lambda 槽更改什么。如果我在 lambda 之前添加成员指针 this,它也不起作用。

这是在 Qt 5.3 中。

最佳答案

您正在寻找的 addAction 重载已添加到 Qt 5.6 中。

关于c++ - 将 QMenu::addAction 直接连接到 lambda(函数签名不匹配),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40684354/

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