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

歡迎光臨散文網(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窗口大小變換而變換的評論 (共 條)

分享到微博請遵守國家法律
青阳县| 蒲城县| 瓦房店市| 江西省| 旅游| 会宁县| 拜城县| 九龙坡区| 文成县| 武川县| 涿州市| 九寨沟县| 仁化县| 清河县| 靖安县| 登封市| 洞头县| 额尔古纳市| 凤台县| 大冶市| 丰顺县| 永康市| 凉城县| 道孚县| 三亚市| 什邡市| 连州市| 龙泉市| 城口县| 奉新县| 康马县| 阜阳市| 德惠市| 咸阳市| 平原县| 焉耆| 正宁县| 卢龙县| 石门县| 承德市| 镇平县|