我对Qt很陌生,我试图弄清楚如何将字符串传递给MenuAction。我错过了一件小事,希望你能提供帮助。
我在http://doc.qt.io/qt-5/qtwebkitexamples-webkitwidgets-browser-example.html使用TabBrowser示例并尝试将选项添加到"复制链接文字"到菜单将右键单击链接的文本内容复制到剪贴板。我可以添加菜单项并获取文本,但我不知道如何将其传递到插槽。
这是我正在使用的代码。我失踪的拼图是什么?
_element.Length
答案 0 :(得分:0)
已经提出并回答了类似的问题,例如: Passing an argument to a slot和How 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 +捕捉东西的经验很少......