最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Qt+ECharts開發(fā)筆記(二):Qt窗口動態(tài)調(diào)整大小,使ECharts跟隨Qt窗口大小變換而變換

2022-07-08 12:53 作者:紅胖子_AAA紅模仿  | 我要投稿

前言

??上一篇將ECharts嵌入Qt中,在開始ECharts使用之前,還有一個很重要的功能,就是在窗口變換大小的時候,ECharts的圖表尺寸也要跟隨Qt窗口變換大小而變換大小。

Demo演示

??

原理

??QWebEnginePage的大小會動態(tài)改變,然后導(dǎo)致html的body改變:
??

  • 在windows里面設(shè)置body寬高分別為比例100%,100%

  • 在div標(biāo)簽設(shè)置div的大小為填充body寬高比例分別為100%,100%

  • 開啟echarts的大小變化刷新的resize函數(shù)。

實現(xiàn)步驟

步驟一:設(shè)置body樣式html寬高為100%,100%

<style> ? ?html, ? ?body { ? ? ? ?width: 100%; ? ? ? ?height: 100%; ? ?}</style>

??

步驟二:隱藏滾動條

??Qt代碼上沒有直接方式隱藏,沒有設(shè)置策略,只能尋求html的方式,如下:

<style> ? ?html, ? ?body { ? ? ? ?width: 100%; ? ? ? ?height: 100%; ? ? ? ?overflow: hidden; ? ?}</style>

??

??PS:測試中,overflow上下不能添加注釋,包含//和<!-- --)兩種都不行,會讓滾條失效,未測/**/。

步驟三:設(shè)置div為body寬高比例100%,100%

??在div標(biāo)簽設(shè)置div的大小為填充body寬高比例分別為100%,100%:

<style> ? ?#main, ? ?html, ? ?body{ ? ? ? ?width: 100%; ? ? ? ?height: 100%; ? ? ? ?overflow: hidden; ? ?} ? ?#main { ? ? ? ?width: 100%; ? ? ? ?height: 100%; ? ?}</style>

??

步驟四:出發(fā)resize大小重繪函數(shù)

??窗口變化之后,echarts不會自動變化,還需要主動調(diào)用echarts的resize函數(shù)。

<script type="text/javascript"> ? ?// 基于準(zhǔn)備好的dom,初始化echarts實例 ? ?const myChart = echarts.init(document.getElementById('main')); ? ?// 窗口高度變化設(shè)置 ? ?window.onresize = function() { ? ? ? ?myChart.resize(); ? ?} ? ?// 指定圖表的配置項和數(shù)據(jù) ? ?var option = { ? ? ? ?title: { ? ? ? ? ? ?text: 'ECharts 入門示例' ? ? ? ?}, ? ? ? ?tooltip: {}, ? ? ? ?legend: { ? ? ? ? ? ?data: ['銷量'] ? ? ? ?}, ? ? ? ?xAxis: { ? ? ? ? ? ?data: ['襯衫', '羊毛衫', '雪紡衫', '褲子', '高跟鞋', '襪子'] ? ? ? ?}, ? ? ? ?yAxis: {}, ? ? ? ?series: [ ? ? ? ? ? ?{ ? ? ? ? ? ? ? ?name: '銷量', ? ? ? ? ? ? ? ?type: 'bar', ? ? ? ? ? ? ? ?data: [5, 20, 36, 10, 10, 20] ? ? ? ? ? ?} ? ? ? ?] ? ?}; ? ?// 使用剛指定的配置項和數(shù)據(jù)顯示圖表。 ? ?myChart.setOption(option);</script>

??

Demo

??本次Demo只修改了html文件:

<!DOCTYPE html><html> ?<head> ? ?<meta charset="utf-8" /> ? ?<title>ECharts</title> ? ?<!-- 引入剛剛下載的 ECharts 文件 --> ? ?<!--<script src="echarts.js"></script>--> ? ?<script src="./echarts.js"></script> ? ?<!--<script src="D:/qtProject/echartsDemo/echartsDemo/modules/barEChartWidget/html/echarts.js"></script>--> ? ?<!--<script src="echarts.min.js"></script>--> ? ?<!--<script src="./echarts.min.js"></script>--> ? ?<!--<script src="./html/echarts.min.js"></script>--> ? ?<!--<script src="D:/qtProject/echartsDemo/echartsDemo/modules/barEChartWidget/html/echarts.min.js"></script>--> ?</head> ?<body> ? ?<!--設(shè)置body跟隨查u哪個口,main填充body--> ? ?<style> ? ? ? ?#main, ? ? ? ?html, ? ? ? ?body{ ? ? ? ? ? ?width: 100%; ? ? ? ? ? ?height: 100%; ? ? ? ? ? ?overflow: hidden; ? ? ? ?} ? ? ? ?#main { ? ? ? ? ? ?width: 100%; ? ? ? ? ? ?height: 100%; ? ? ? ?} ? ?</style> ? ?<div id="main"></div> ? ?<script type="text/javascript"> ? ? ? ?// 基于準(zhǔn)備好的dom,初始化echarts實例 ? ? ? ?const myChart = echarts.init(document.getElementById('main')); ? ? ? ?// 窗口高度變化設(shè)置 ? ? ? ?window.onresize = function() { ? ? ? ? ? ?myChart.resize(); ? ? ? ?} ? ? ? ?// 指定圖表的配置項和數(shù)據(jù) ? ? ? ?var option = { ? ? ? ? ? ?title: { ? ? ? ? ? ? ? ?text: 'ECharts 入門示例' ? ? ? ? ? ?}, ? ? ? ? ? ?tooltip: {}, ? ? ? ? ? ?legend: { ? ? ? ? ? ? ? ?data: ['銷量'] ? ? ? ? ? ?}, ? ? ? ? ? ?xAxis: { ? ? ? ? ? ?data: ['襯衫', '羊毛衫', '雪紡衫', '褲子', '高跟鞋', '襪子'] ? ? ? ? ? ?}, ? ? ? ? ? ?yAxis: {}, ? ? ? ? ? ?series: [ ? ? ? ? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ?name: '銷量', ? ? ? ? ? ? ? ? ? ?type: 'bar', ? ? ? ? ? ? ? ? ? ?data: [5, 20, 36, 10, 10, 20] ? ? ? ? ? ? ? ?} ? ? ? ? ? ?] ? ? ? ?}; ? ? ? ?// 使用剛指定的配置項和數(shù)據(jù)顯示圖表。 ? ? ? ?myChart.setOption(option); ? ?</script> ?</body></html>

工程模板v1.1.0

??


Qt+ECharts開發(fā)筆記(二):Qt窗口動態(tài)調(diào)整大小,使ECharts跟隨Qt窗口大小變換而變換的評論 (共 條)

分享到微博請遵守國家法律
罗江县| 简阳市| 徐水县| 青田县| 南昌县| 日照市| 积石山| 和龙市| 阿勒泰市| 滨海县| 辽阳市| 丽江市| 西乡县| 辽中县| 永兴县| 广安市| 罗平县| 宁远县| 建始县| 静乐县| 耿马| 响水县| 垫江县| 屯门区| 龙江县| 通州市| 东丰县| 射洪县| 岑溪市| 永济市| 惠州市| 峨眉山市| 威海市| 田东县| 绥江县| 行唐县| 兴安县| 高安市| 龙岩市| 黎平县| 双桥区|