2013-10-18 25 views
1

我有以下变量附加到'QTextBrowser'。它确实显示为一个链接,但是当我点击它时,'QTextBrowser'中的所有文本消失。所有'anchorClicked'信号连接到的功能是在shell中打印一些信息,以便我知道信号已被接收。PyTeide/PyQt QTextBrowser中的文本消失点击其中的链接后

word = '<a href>' + '<span style="background-color:#C0C0C0">' + word + '</span>' +'</a>' 

self.textBrowser.anchorClicked.connect(self.test) 

def test(self,argv_1): 
    print('!!!') 
+0

请更新您的问题以显示导致问题的实际代码。 – ekhumoro

+0

我添加了其他部分。 – UrbKr

回答

5

可能发生的事情是文本浏览器试图导航到锚点中指定的href。但由于href是空的,它只是显示一个空白页面。

如果要停止自动链接导航,试试这个:

self.textBrowser.setOpenLinks(False) 

(注:该链接被点击时anchorClicked信号仍然会发送)。

+0

是的这有效。谢谢! – UrbKr

2

您也可以通过在连接到anchorClicked信号的函数中调用self.textBrowser.setSource(QtCore.QUrl())来防止此行为(您的情况为test())。

举一个例子,看我做什么,我回答你的其他问题在这里:https://stackoverflow.com/a/19475367/1994235

这可以让你仍然有一些链接,带你到其他页面,以及一些不(你打电话以上代码行以防止页面更改,只有当某些URL传递到您的函数时)

0

使用html2text可以将URL下载到页面上每个链接的匹配目录。重新格式化为HTML,添加标题并重新链接链接。然后每次点击一个链接递归执行此操作,并且您实际上有一个可用的Web浏览器。链接将实际上工作。如果可以的话,我希望看到有人在3页以内完成。

+0

这与这个问题中的具体问题有什么关系? – Air