QTextBrowser - 覆盖“复制链接位置”上下文菜单快捷方式

时间:2011-10-10 10:56:09

标签: qt contextmenu

我有一个应用程序使用QTextBrowser控件在离线时显示网站,主要由“相对”链接组成。

不幸的是,QTextBrowser“复制链接位置”操作的默认上下文菜单会将相对链接放入剪贴板。

我想以某种方式拦截“复制链接位置”操作,这样我就可以将相对路径扩展到剪贴板上的绝对路径,这样用户就可以直接粘贴到他们的文件管理器或另一个应用程序的“打开文件”对话框中

我知道如何在上下文菜单中添加其他操作,或者完全替换上下文菜单。然而,默认菜单的其余部分很好,所以如果可能的话,我宁愿不这样做。

(目前正在使用Qt v4.6.2,必要时可以升级。)

1 个答案:

答案 0 :(得分:1)

来自Qt助理文档

  

void QTextBrowser :: anchorClicked(const QUrl& link)[signal]

This signal is emitted when the user clicks an anchor. The URL referred to by the anchor
is passed in link.

Note that the browser will automatically handle navigation to the location specified by
link unless the openLinks property is set to false or you call setSource() in a slot 
connected. This mechanism is used to override the default navigation features of
the browser.

我在Qt4.6.0帮助中找到了这个,所以它应该适用于你的版本