如何QAction直接连接lambda插槽?
QMenu m;
Run Code Online (Sandbox Code Playgroud)
工作:
QAction newSubfolder(QIcon(":/icons/newfolder.png"),tr("New Subfolder"),&m);
m.addAction(&newSubfolder);
connect(&newSubfolder,&QAction::triggered,
this,[this,p](){qDebug()<<"New Subfolder";});
Run Code Online (Sandbox Code Playgroud)
不工作:
m.addAction(QIcon(":/icons/newfolder.png"),tr("New Subfolder"),
[this,p](){qDebug()<<"New Subfolder";});
Run Code Online (Sandbox Code Playgroud)
错误:
No matching function for call to 'QMenu::addAction(QIcon, QString, FolderMenuWidget::showContextMenu(QPoint)::__lambda0)'
[this,p](){qDebug()<<"New Subfolder";});
^
Run Code Online (Sandbox Code Playgroud)
是的我看到了错误消息,但我不明白我需要为lambda插槽更改什么.如果我this在lambda之前添加成员指针,它也不起作用.
这是在Qt 5.3中.
| 归档时间: |
|
| 查看次数: |
1121 次 |
| 最近记录: |