pyqt:QWebEngineView的简单使用

本文介绍了如何在PyQt5中使用QWebEngineView显示网页,并通过获取屏幕缩放比例来确保在不同分辨率设备上保持良好的观感。作者提供了一个实例代码,自动调整webview的缩放以适应屏幕变化。
摘要由CSDN通过智能技术生成

在pyqt中,如果想要显示网页,可以用我的这段代码,不仅成功显示网页,而且适应了不同缩放比例的屏幕,保证了在不同分辨率设备上的观感

全部代码

from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout
from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5.QtCore import QUrl
import ctypes


class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        self.right_widget = QWidget()
        self.setCentralWidget(self.right_widget)

        layout = QVBoxLayout(self.right_widget)
        self.webview = QWebEngineView()
        layout.addWidget(self.webview)
        dpi = self.get_screen_scale()
        self.webview.setZoomFactor(round(dpi / 10))
        self.webview.load(QUrl("https://www.csdn.net/"))

    def get_screen_scale(self):
        # 获取屏幕缩放比例
        user32 = ctypes.windll.user32
        gdi32 = ctypes.windll.gdi32
        user32.SetProcessDPIAware()
        scale_factor = gdi32.GetDeviceCaps(user32.GetDC(None), 10) / 96.0

        return scale_factor


if __name__ == '__main__':
    app = QApplication([])
    window = MyWindow()
    window.show()
    app.exec_()
    

效果

运行后,在窗口里成功显示了网页内容

分析

如果不主动调节缩放比例的话,网页的大小会发生异常,如下图

这个问题我在代码中已经处理好了,根据屏幕缩放配置好了webview的缩放。

        dpi = self.get_screen_scale()
        self.webview.setZoomFactor(round(dpi / 10))

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值