您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Qt如何實現儀表盤交互,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
Echart是百度研發團隊開發的一款報表視圖JS插件,功能十分強大,是本人用過的國產作品中最牛逼的,記得四五年前就在qt中使用過,當時用的瀏覽器控件是webkit,由于5.6以后的版本不再支持webkit,而換用webengine內核,很多人在下載使用后不能正常編譯,今天特意抽空做個webengine版本,使得同時支持webkit和webengine。 在webkit中執行JS用的是webView->page()->mainFrame()->evaluateJavaScript(js); 而webengine用的是webView->page()->runJavaScript(js); 在執行效率上,webengine甩webkit好幾條街,在拖動滑塊動態設置值的時候,webengine的CPU占用只有1%,而webkit居然達到了7%,恐怖!怪不得webkit逐漸被qt拋棄了,webengine只是內存使用上增加了些。
第一步:準備網頁文件 ```c++ <html> <head> <meta charset="utf-8"> <title>ECharts</title> <script src="echarts.min.js"></script> </head> <body> <div id="main" ></div> </body> </html>
第二步:準備JS函數
function setGaugeValue(value){ var option = { tooltip : { formatter: "{a} <br/>{b} : {c}%" }, toolbox: { feature: { restore: {}, saveAsImage: {} } }, series: [ { name: '業務指標', type: 'gauge', detail: {formatter:'{value}%'}, data: [{value: value, name: '完成率'}] } ] };
第三步:數據交互
void Widget::on_horizontalSlider_valueChanged(int value) { QString js = QString("setGaugeValue(%1)").arg(value); #ifdef webkit webView->page()->mainFrame()->evaluateJavaScript(js); #else webView->page()->runJavaScript(js); #endif }
關于“Qt如何實現儀表盤交互”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。