2012-03-30 74 views
1

我使用Qt设计器来创建一个接口,并且我有一个QWebView。我想重新实现我的QWebView的功能mouseDoubleClickEvent我可以从UI实现QWebView的方法吗?

我可以这样做吗?我知道我必须使用ui->webview来访问它,我知道我可以很容易地使用信号on_webView_selectionChanged例如,但其他方法如mouseDoubleClickEvent

回答

3

由于mouseDoubleCLickEvent是虚拟保护功能,因此您需要继承QWebView的子类并在您的子类中重新实现该方法。 mouseDoubleClickEvent的文件,QWidget的一种方法,可以找到here。在此之后,您可能会想要将您的自定义小部件与Qt Designer集成。我对该计划不熟悉,但this documentation可能会证明有用。 (编辑:看起来宣传QWebView的自定义子类需要其他步骤,这些步骤已记录在herehere)我不知道任何纯GUI方法来创建所需的自定义子类。

+0

它看起来像个好主意,我正在尝试!谢谢 – castors33 2012-03-30 15:00:21

+0

它几乎可以工作......但我卡住,因为最后一行不起作用:Q_EXPORT_PLUGIN2(webviewcustomplugin,WebViewCustomPlugin);它说:错误:预期的构造函数,析构函数或类型转换之前的'('标记 – castors33 2012-03-30 16:37:39

+0

因为你只是重写一种方法,你可能想要更简单的“类升级”机制 – krzysz00 2012-03-30 16:53:22