当前位置: 首页 > news >正文

qml与html通信

1. 在qml显示html并通讯

  main.qml


import QtQuick 2.12
import QtQuick.Window 2.12
import QtWebEngine 1.2
import QtQuick.Controls
Window {id:mainWindowwidth: 640height: 480visible: truetitle: qsTr("WebEngine + ECharts (By: GongJianBo1992)")Column {anchors.fill: parentspacing: 10Rectangle {height: mainWindow.height * 0.8  // 占 80% 高度width: mainWindow.widthWebEngineView{id: webViewanchors.fill: parent//@disable-check M7url:"file:///./test.html"}}Button {text: "随机更新销量数据"width: 200height: 40anchors.horizontalCenter: parent.horizontalCenteronClicked: {// 生成随机数据(5个10-100的整数)let newData = [];for (let i = 0; i < 5; i++) {newData.push(Math.floor(Math.random() * 90 + 10));}webView.runJavaScript("updateData(" + JSON.stringify(newData) + ")");}}}
}

html

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>ECharts in QML</title><!-- 引入 ECharts --><script src="echarts.min.js"></script><style>body { margin: 0; overflow: hidden; }  /* 去除边距和滚动条 */#chartContainer { width: 100vw; height: 100vh; }  /* 占满整个视图 */</style>
</head>
<body><div id="chartContainer"></div><script>// 初始化图表const chartDom = document.getElementById('chartContainer');const myChart = echarts.init(chartDom);let option = {xAxis: {type: 'category',data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']},yAxis: {type: 'value'},dataZoom: {type: 'inside',  //放大缩小x轴数值},tooltip: {trigger: 'axis',axisPointer: {type: 'cross',label: {backgroundColor: '#6a7985'}}},series: [{data: [820, 932, 901, 934, 1290, 1330, 1320],type: 'line',smooth: true}]};myChart.setOption(option);// 供 QML 调用的更新函数function updateData(newData) {option.series[0].data = newData;myChart.setOption(option);}// 窗口大小变化时自适应window.onresize = () => myChart.resize();</script>
</body>
</html>

python

import sys
from PySide6 import  QtWidgets, QtQml
from PySide6.QtGui import QGuiApplication
import PySide6.QtWebEngineCoreif __name__ == "__main__":# app = QGuiApplication().instance()app = QtWidgets.QApplication(sys.argv)engine = QtQml.QQmlApplicationEngine()engine.load("main.qml")if not engine.rootObjects():sys.exit(-1)sys.exit(app.exec())

image

案例地址 :https://gitee.com/lj-fang/qml-html

http://www.gsyq.cn/news/34115.html

相关文章:

  • 2025 年红外测温仪厂家最新推荐榜,技术实力与市场口碑深度解析比色/感应加热/高性价比/单晶炉红外测温仪公司推荐
  • 2025年10月企业网站建设开发公司排行榜:前十名精选
  • 浅记线性同余方程(组)
  • 2025年市场上小程序开发公司Top10权威推荐
  • 2025上海单位/小区/商场/办公楼/工厂/住宅/保洁公司服务推荐榜:臣峰环境以场景化定制能力引领行业新发展
  • 可传参数的3Decharts-gl省市级地图实现(点击具体的省份及可下钻到市级地图)--详细版本
  • 2025灌装/大桶/桶装/纯净/瓶装/水处理设备推荐榜:青州路得自动化以科技创新引领行业升级
  • 【模板】扩展中国剩余定理(EXCRT)
  • 小杰深度学习(five)——正则化、神经网络的过拟合解决专业的方案
  • 2025年小程序商城开发公司推荐排行榜
  • 2025 年绿色环保板材源头厂家最新推荐榜:聚焦生态与装修板材,标杆企业深度测评
  • 2025年墓碑制造商权威推荐榜单:石材墓碑/汉白玉墓碑/手工雕刻石碑源头厂家精选
  • JVM内存启动问题
  • 查找表(LUT)基础知识(2025.10.29)
  • 国标GB28181算法算力平台EasyGBS视频实时监控系统打造城市环境监控全场景解决方案
  • 频谱分析仪的应用范围与技术解析
  • 2025 年不锈钢无缝管源头厂家最新推荐榜:重质守信企业盘点,覆盖多材质多行业适配与高性价比选购参考
  • windows下安装Nginx,并配置成服务
  • 2025年国内化工设备厂家/换热器/反应釜综合实力排行榜
  • 2025 年 10 月石墨加工厂家推荐排行榜,高纯石墨加工,精密石墨加工,耐高温石墨加工,异形石墨加工公司推荐
  • tensor RT 进行gpu推理加速/模型部署
  • 安装GMSSL时报错is not able to compie a sinple test program
  • Dynamics 365 online 按钮配置地址:/main.aspx?settingsonly=true
  • 什么是MII
  • 2025 年浴室柜厂家最新推荐榜,技术实力与市场口碑深度解析
  • 2025 年卫浴厂家最新推荐榜,技术实力与市场口碑深度解析
  • 重生之我用AI写代码:前传——VSCode集成开源模型搭建智能开发环境
  • 2025年市面上新加坡留学品牌综合实力排行榜
  • 2025年口碑好的铜芯电缆产品十大品牌权威推荐
  • 2025/10/27