Qt/PyQT 中的 Text Browser控件不能显示网页源码文本的问题

问题描述

Pyqt开发桌面程序,其中的控件 Text Browser 不能显示网页源码的问题

比如说我使用Request库获取一个网页的源码:

import requests

class Web_tools:
    def getcode(url):
        hea = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36'}
        # 模拟浏览器访问
        data = requests.get(url, headers= hea)
        data.encoding  = 'utf-8'

        return data.text

并在主程序调用该方法,控制台打印输出,并将Text Browser控件的文本内容设置为该源码内容

	code = Web_tools.getcode(web)
    print("网页源码为:"+code)
    self.ui.load_pages.text_code.setText(code)

结果print可以正常输出源码,但打开程序发现Text Browser不能显示源码文本

原因分析:

Text Browser用来显示文本内容,普通文本倒没什么,但html格式的文本会执行(相当于源码的文本被他执行成网页了)
因此不会显示出网页的源码,但也很奇怪,有的网页就能正常显示出来


解决方案:

需要使用 Text Browser 显示源码时,使用setPlainText方法,而不是setText方法,这样就解决了

self.ui.load_pages.text_code.setPlainText(code)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值