5 ui自适应窗口_Qt编写地图综合应用5-自适应拉伸
生活随笔
收集整理的這篇文章主要介紹了
5 ui自适应窗口_Qt编写地图综合应用5-自适应拉伸
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、前言
用過echart的人都會遇到一個問題,就算是代碼中寫了window.onresize = echart.resize,也只是橫向自適應(yīng)拉伸填充頁面,垂直方向不會變化,除非指定高度才可以,這就比較郁悶了,為何echart本身不會自適應(yīng)呢?按道理不應(yīng)該啊,莫非實現(xiàn)起來很困難?好吧先不管這個了,這個問題搜索出來一大堆解決方案,在Qt的瀏覽器控件中也有這個問題,為了解決這個問題想了兩個策略,一種是程序本身檢測尺寸變化,然后重新設(shè)置高度并載入網(wǎng)頁,一種是js函數(shù)設(shè)置對應(yīng)的寬高,什么時候執(zhí)行呢,就是在程序界面尺寸變化的時候,兩種辦法對比下來,最終選用的后者,因為效果比較好,還是異步執(zhí)行的,無需重新加載網(wǎng)頁,那個每次高度變化了就重新加載網(wǎng)頁的辦法在早期的作品中用過,看起來好傻逼比的。
二、功能特點
三、體驗地址
四、效果圖
五、相關(guān)代碼
//設(shè)置窗口大小變動echarts自動拉伸填充,此方法只能橫向拉伸 list << QString(" window.onresize = echart.resize;"); //下面的方法用來設(shè)置畫布的寬度高度 list << QString(" function resize(width, height) {"); list << QString(" var chart = document.getElementById('chart');"); list << QString(" chart.style.width = width + "px";"); list << QString(" chart.style.height = height + "px";"); list << QString(" echart.resize();"); list << QString(" }");void frmEcharts::resizeMap() {if (isLoad) { #ifdef webkitQString js = QString("resize(%1, %2)").arg(webView->width()).arg(webView->height());webView->page()->mainFrame()->evaluateJavaScript(js); #elif webengineQString js = QString("resize(%1, %2)").arg(webView->width()).arg(webView->height());webView->page()->runJavaScript(js); #endif} }總結(jié)
以上是生活随笔為你收集整理的5 ui自适应窗口_Qt编写地图综合应用5-自适应拉伸的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 程序 可以一直输入 qui
- 下一篇: android app 适应不同大小屏幕