如何将值传递给Qt中的MenuAction?

时间:2016-01-14 18:31:06

标签: c++ qt qwebview qmenu

我对Qt很陌生,我试图弄清楚如何将字符串传递给MenuAction。我错过了一件小事,希望你能提供帮助。

我在http://doc.qt.io/qt-5/qtwebkitexamples-webkitwidgets-browser-example.html使用TabBrowser示例并尝试将选项添加到"复制链接文字"到菜单将右键单击链接的文本内容复制到剪贴板。我可以添加菜单项并获取文本,但我不知道如何将其传递到插槽。

这是我正在使用的代码。我失踪的拼图是什么?

_element.Length

1 个答案:

答案 0 :(得分:0)

已经提出并回答了类似的问题,例如: Passing an argument to a slotHow to pass a value with a clicked signal from a Qt PushButton? 这里提到了不少技巧。对我来说,“最好的”似乎是使用lambdas的c ++ 11方式,从上面的一个帖子中采用:

QAction* action = menu.addAction (tr ("Copy Link Text"));
connect (action, &QAction::triggered, this, [this]{ copyLinkText (linkText); });

这对你有用吗?我没有尝试过,对这个lambda +捕捉东西的经验很少......