100%完美解决PySide2/Pyside6/PyQt中QTextBrowser打不开超链接问题!!!快来!!!
100%完美解决PySide2/Pyside6/PyQt中QTextBrowser打不开超链接问题!!!
问题描述
我在使用QtDesigner写UI,预览时(实际上不光是QtDesigner预览时打不开,在后续Python编码中,也是如此,这里拿QtDesigner的预览界面举栗子),突然发现QTextBrowser中的网址链接打不开,一点击链接,文本都消失了:
点击前

点击后

什么鬼,直接白了???文本都不见了!
解决办法,绝对管用!
当时我网上找了好多,确实有人问过类似问题,但是他们的方法都无法解决这个问题!
这里有两个坑!!!
一号坑

注意看第19行!必须加上xxx.setOpenExternalLinks(True)这行代码,括号里必须是True,只有这样才能正确地打开外部链接!
另外看18行,网上好多解决方案都说是要写xxx.setOpenLinks(False),括号里是False,千万不要这样做,这样做的话,即使你刚刚加上了第19行的代码,也打不开链接!这里我只加了第19行的代码,如果加上第18行代码,也是可以的,因为第18行后面括号力是True,但如果是False,就不可以了!
二号坑

这里我就直接用QtDesigner演示了哈,在代码中添加链接时也是一样的道理!
上面的图片中,我添加的链接是: www.csdn.com。如果这样做,运行程序并点击超链接,不会在浏览器中打开任何网站,而控制台会输出提示信息:
QTextBrowser: No document for www.csdn.net
懵了,怎么会这样呢???No document???
其实这里就是绕了一下,解决方法很简单!在www.csdn.net前加上https://,把链接写完整:

其他网址也是一样的!如不能写www.baidu.com,而是写https://www.baidu.com
总结
就一下两点,必须同时做到
一:加上如下代码:
self.textBrowser.setOpenLinks(True) # 这行可以不加!如果要加,括号里必须是True!
self.textBrowser.setOpenExternalLinks(True) # 这行必须加上
二:链接网址时输入完整的网址(如https://www.baidu.com)
温馨提示:QtDesigner预览界面时打不开链接是正常的,那个本身就那样。上面的方法可以保证你在运行程序时,可以在程序中成功地打开外部链接!
更多推荐


所有评论(0)