米爾科技提醒您:您的瀏覽器版本過低或者使用了兼容模式,為了獲得更好的瀏覽體驗,建議使用IE10以上的瀏覽器或使用極速模式。 請升級瀏覽器以獲得更好的體驗!

我用STM32MP1做了個疫情監控平臺4—功能完善界面重新設計

文章來源:米爾科技 發布日期:2020.5.25 瀏覽次數:2895

1.前言

之前我用STM32MP1和Qt實現了疫情監控平臺,有幸被【STM32單片機】官方公眾號轉發分享,感覺還是很有成就感的。

這周末又把功能進一步完善了一下,界面重新設計等。實際運行界面:

2.界面展示

原來的界面很簡單,只有國內疫情數據展示:

現在的界面:

STM32MP1開發板運行效果:

3.新增功能

  • UI重新設計,仿平板界面
  • 新增海外疫情數據顯示和國內零病例城市數據顯示
  • 新增疫情新聞顯示,使用html模板文件的方式實現富文本的顯示
  • 5分鐘自動更新,可通過開關選擇是否開啟
  • 新增IP自動定位功能
  • FontAwesome字體圖標庫的使用
  • 自定義標題欄按鈕,可點擊圖標關閉窗口,手動更新等

4.API 接口說明

所使用到的幾個接口地址:

根據請求的IP地址,返回定位的城市名稱和經緯度
http://ip-api.com/json/?lang=zh-CN

國內實時疫情數據,新增/確診/疑似/零病例城市等
http://view.inews.qq.com/g2/getOnsInfo?name=disease_h5

海外疫情數據和國內疫情新聞信息 
http://view.inews.qq.com/g2/getOnsInfo?name=disease_other

最新謠言和辟謠信息,接口未使用,沒有移植openssl,暫時不支持https
https://vp.fact.qq.com/loadmore?page=0 

5.多個接口數據的獲取和解析

和上一個版本最大的區別就是,上一版只使用了1個API。這次共使用了3個接口地址,而且每個接口地址返回的JSON數據是不同的,所以需要分別get這4個接口地址,然后調用不同的JSON解析函數。即每次更新時,apiID=0,先獲取接口1的數據,調用接口1的解析函數,然后apiID=1,獲取接口2的數據,調用接口2的解析函數,直到apiID=2,所有的數據獲取完畢,不再觸發新的get請求,直到下一次數據更新:

 /* 數據*/
	//IP定位接口
	QString apiUrl_0 = "http://ip-api.com/json/?lang=zh-CN";
	//國內疫情數據
    QString apiUrl_1 = "http://view.inews.qq.com/g2/getOnsInfo?name=disease_h5";
	//全球疫情數據和疫情新聞信息
    QString apiUrl_2 = "http://view.inews.qq.com/g2/getOnsInfo?name=disease_other";	
	/*謠言接口,未使用*/
    QString apiUrl_3 = "https://vp.fact.qq.com/loadmore?page=0";

    qint8 apiID = 0;	//0->3: api_0->api_3

	/*以上接口數據對應的解析函數*/
    void parseApi_0(QByteArray str);
    void parseApi_1(QByteArray str);
    void parseApi_2(QByteArray str);
	/*謠言信息解析,未使用*/
    void parseApi_3(QByteArray str); 

由于板子上的系統還沒有移植openssl,所以不支持https的接口地址,api3在實際中沒有使用。

IP定位接口返回的JSON數據:

解析函數:

void Dialog::parseApi_0(QByteArray str)
{
    cJSON *root_obj;
    root_obj = cJSON_Parse(str);
    if(!root_obj)
        qDebug() << "ip api error";
    else
    {
        QString status = cJSON_GetObjectItem(root_obj, "status")->valuestring;
        qDebug() << status;
        if(status == "success")
        {
            QString city = cJSON_GetObjectItem(root_obj, "city")->valuestring;
            QString query = cJSON_GetObjectItem(root_obj, "query")->valuestring;
            qDebug() << city << query;
        }
    }
    cJSON_Delete(root_obj);
} 

其他接口JSON數據的解析,都是差不多的,這里不再贅述。

6. FontAwesome字體圖標庫的使用

在這次新版本中,我首次使用了FontAwesome字體圖標庫,圖標顯示效果:在這里插入圖片描述

使用起來非常方便,簡單。首先把圖標庫里的ttf字體文件添加到Qt工程里,通過以下代碼實現圖標顯示。

使用方法可以參考:Qt字體圖標庫fontawesome和pixeden使用示例

標簽或者按鈕添加圖標背景:

#include  
void MainWindow::iconDemo()
{
    //fontawesome-webfont.ttf圖標庫示例
    //http://www.fontawesome.com.cn/
    int fontId_fws = QFontDatabase::addApplicationFont(":/icon/fontawesome-webfont.ttf"); 
    QString fontName_fws = QFontDatabase::applicationFontFamilies(fontId_fws).at(0);     
    QFont iconFont_fws = QFont(fontName_fws);
    iconFont_fws.setPixelSize(50);     //設置圖標大小

    //標簽添加圖標背景
    ui->lbe_fws->setFont(iconFont_fws);
    ui->lbe_fws->setText(QChar(0xf185));   //圖標ID
    ui->lbe_fws->setStyleSheet("color: rgb(255, 0, 0);");

    //按鈕添加圖標北京
    ui->btn_fws->setFont(iconFont_fws);
    ui->btn_fws->setText(QChar(0xf0e7));    //圖標ID
    ui->btn_fws->setStyleSheet("color: rgb(0, 255, 0);");  
} 

其中0xf0e7是圖標對應的代碼,可以在官網上找到。目前,圖標庫里包括675個圖標,而且是矢量的,這意味著可以隨意的縮放而不用擔心不清晰,大小顏色都可以在代碼里設置。

類似的圖標庫還有pixeden等等,pixeden里面的圖標更豐富,而且是已經分好類的,但是免費的少,收費的多。

7.代碼下載

整個Qt工程代碼已經開源,如果你已經關注了我的公眾號(ID:mcu149),可以在后臺回復STM32MP1,我會把Qt工程源碼發送給你,代碼兼容Qt4/Qt5。

當然,你也可以在以下開源平臺獲取到最新的Qt工程:

https://gitee.com/whik/qte_2019_ncov


本文來自米爾科技,原文地址: http://www.www.askduggu.com/resource/541.asp,轉載請注明出處。

大香蕉青青草人人,青青在线視屏,av老鸭窝,caoprom超碰,国产熟妇在线,久操网在线,草榴色情视频,久草超碰视频,国产97碰公开免费视频 在线视频国产欧美另类,亚洲综合小说另类图片,5566av资源网影音先锋,一本大道香蕉视频,超pen个人视频97,www.奇米.com 在线视频国产欧美另类,亚洲综合小说另类图片,5566av资源网影音先锋,一本大道香蕉视频,超pen个人视频97,www.奇米.com 青青草丝袜足交视频,奇米网影音,香蕉视频青青在线视频,国产大香蕉免费视频,成人视频观看,青青草 国产偷拍,好吊妞视频这里有精品 亚洲图片 自拍网,香蕉伊人手机网,亚洲情色图片,小明视频免费观看,久久日本道色综合久久,自拍 亚洲 另类,国产自拍91在线 2021国产大陆天天弄,综合自拍亚洲综合图区,调教贤妻,三级日本韩国理论在线,免费网站看v片在线无遮挡,一级香蕉视频在线观看
欧美禁忌乱偷在线观看,亚洲综合区图片小说区,中文字字幕在线精品乱码,天天躁夜夜躁狠狠,91caopao 超级碰在线,奇米影视奇米色777欧美 久久七次郎91,久草在视线免费视频,国产自拍精品,777米奇奇米影视四色,天天模天天啪天天干,久久人人香蕉久草在线,青春草碰碰人在线播放 青青青欧美视频在线观看,日韩亚洲国产中文永久,一伊香蕉久在播放线,青青成线在人线免费啪,色爱区综合五月色爱区,窝窝影院 亚洲日本va中文字幕,在线欧美精品视频二区,中文字字幕在线中文乱码2019,91国产福利在线观看,caoporm碰视频公开视频,www.奇米影视.com 99精品热在线观看视频,亚洲国产欧美在线看片,青青国国产视在线播放观看91,日本高清中文字幕有码在线,青春草在线视频免费观看,91po2019最新地址 日日夜夜在线视频,人人妻碰人人免费,伦理片在线观看大香蕉,色色欧美天天涩,青青草最新.网址,日韩在线av免费视久久,2019天天夜夜啪 亚洲男人的天堂在线播放,欧美日韩国产无线码,中文字幕亚洲综合小综合在线,午夜性色福利在线视频,91网站,中文字幕不卡在线视频 色老久久爱精品视频,成年人视频,久草在线影院,青春草免费免费视频,超碰97超碰在线视频哦,奇米色先锋影视777,97人妻色 欧美三级在线播放线观看,亚洲五月综合自拍区,被公侵犯中文字幕在线观看,手机在线电影,caopor在线视频,奇米第四手机在线观看 久久成人黄色视频,成人伊人综合网,大香蕉欧美色,大香蕉伊人久草色在线视频,青青草在线免费观看,先锋影音2019最新资源,成人伊人大香蕉中文网 国产露脸自拍,影音先锋国产自拍,啪啪啪大香蕉,青青草人免费公开视频,色琪琪中文字幕,青青草大香蕉在线看,91偷拍网 手机看片日韩国产高清视频,欧美午夜福利不卡在线观看,国产日韩欧美不卡在线二区,天天色影院,国产偷人视频免费,奇米888四色在线看 国产在线视精品在亚洲,国产a在亚洲线播放,久cao在线香蕉,草莓视频在线看免费版,网友自拍区视频精品,777奇米影视第四色 a在线亚洲男人的天堂,亚洲综合欧美在线一区,日本不卡免费一区二区,亚洲人成网站色,色综合欧美亚洲国产,轻轻色青青青在线视频 自拍欧美夫妻,91情侣在线免费视频,最新国产A V网站,偷拍自拍国产视频,人人骑人人插人人干,老鸭窝在线网址观看,久久近亲相姦 成人视屏,米奇影视,国产自拍电影区亚洲,青青草狼人,2019人人搞人人免费,大佬色免费视频,影音先锋,青青草国产自偷拍久草 99精品国产自在现线,国产肥熟女视频一区二区,亚洲欧美日韩高清专区,米奇影院888奇米色99在线,国产精亚洲视频综合区,天堂v亚洲国产v第一次 欧美性爱网站,99re久久草,久草免╦费视频焦在线在线,日本有码视频,人人看人人影视碰免费,手机看AA片,青青草免费公开播放 中文字幕亚洲男人的天堂网络,日本tvvivodes欧美,亚洲热线99精品视频,91青青草原线免费观看,天天she综合台湾中文,日本欧美大码a在线播放 国产综合色在线视频区,亚洲欧美日韩综合在线一区,全彩巨大乳尖奶老师漫画,老鸭窝在线视频,成年色黄app都有哪些,天堂社区