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

  • <b id="nsjl5"><ol id="nsjl5"><dd id="nsjl5"></dd></ol></b>

  • <strong id="nsjl5"><noscript id="nsjl5"><td id="nsjl5"></td></noscript></strong><s id="nsjl5"></s>

      <i id="nsjl5"><small id="nsjl5"><dfn id="nsjl5"></dfn></small></i><input id="nsjl5"><option id="nsjl5"><font id="nsjl5"></font></option></input>

      <u id="nsjl5"><small id="nsjl5"><xmp id="nsjl5"></xmp></small></u>
      <rt id="nsjl5"><meter id="nsjl5"><font id="nsjl5"></font></meter></rt>

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

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

      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.qznk16.com/resource/541.asp,轉載請注明出處。

      男人的天堂_欧美 国产 日产 韩国_av在线播放日韩亚洲欧_国产精品中文字幕亚洲欧美_亚洲av男人的天堂在线观看_一级毛片在线观看_免费视频在线看无码不卡 国内真实露脸偷拍视频_色偷偷亚洲偷自拍视频_一级欧美熟妇19p_撸撸射九九热_国产精品V欧美精品V日本精品_在线免费亚洲人成在线播放网站_yellow在线中文 毛片曰本女人牲交视频视频_亚洲伊人成综合网_韩国资源_久草最新视频免费在线观看_亚洲伊人成色综合网_高清一区高清二区_做爱动态图_欧美免费交性视频 男人的天堂a视频区在线_欧美牲交aⅴ_男男性情gv黄网站_男人本色视频在线观看_人体艺术亚洲_寂寞的女老板完整版_青青国产手机在线视频首页 欧美日本一道本免费三区_在线亚洲欧美专区看片_欧美色在线精品视频_97色在色在线播放_国内精品九九视频_青青草原国产免费AV观看_婷婷色香五月综合缴缴情 熟女人妇 成熟妇女系列视频_精品国产自在现线免费观看_17岁高清完整版在线观看_啪啪啪研究所_成在线人免费_久久久久久精品久久久_三级片无码高清 狠狠狠的在啪线香蕉亚洲_CHINESE男同GAY免费视频_自拍偷自拍亚洲精品_国产欧美亚洲综合第一页_国产色视频播放器_2018能看的中文字幕免费_特级毛片WWW免费版 免费人成视频19674不收费_男人的天堂AV高清在线_热门女优_亚洲欧美另类色图_亚洲国产在线精品国_丁香婷综合激情_青青青视频自偷自拍38_免费人成在线观看视频 国产精品国产三级_欧美极品另类高清videossexo_97色手机在线影院_久久vs国产综合色_亚洲人成网站在线观看播放_六月丁香六月综合缴情_青青青国产手线观看视频2021
      色偷偷亚洲男_手机看片日韩国产高清视频_亚洲色中文字幕在线播放_97免费国产人妻视频_小草免费观看在线_亚洲av日本无码av在线播_欧美激情视频 最火爆的男人的天堂AⅤ在线_精品AV一区二区三区在线观看_曰本女人牲交全视频免费播放_欧美熟妇DODK巨大_中文字幕乱码高清完整版_热久久视久久精品2019 熟女人妇 成熟妇女系列视频_精品国产自在现线免费观看_17岁高清完整版在线观看_啪啪啪研究所_成在线人免费_久久久久久精品久久久_三级片无码高清 在线播放免费人成视频网站_亚洲色网站_国产自拍_米奇电影院_男人的天堂亚洲_亚洲中文无码永久免费_中美亚洲欧美综合在线_12点电影免费天天看 亚洲男人的天堂在线播放_97人人模人人爽人人喊97超碰_人体高清大胆西西人体_色综合欧美在线视频区_男人的天堂网_在线综合 亚洲 欧美_日韩亚洲欧美在线com 中文字幕亚洲男人的天堂网络_国产在线亚洲精品观看不卡_国产亚洲日韩欧美一区二区_亚洲av精品国产_老鸭窝laoyawo_成 人3d动漫在线观看_亚洲国产欧美在线人青青 日本熟妇高清无码视频_日韩AV东京社区_卡通动漫_99r8这是只有精品视频_首页中文字幕中文字幕_一道本无吗DⅤD在线播放一区_好吊妞视频这里有精品 94VVV男人的天堂_comwww日本老妇_日本亚欧乱色视频在线_香港经典三级片_青青青草网站免费观看_亚洲国产在线国偷精品产拍_自拍欧美图片区小说区_国产在线观看91 国产在线高清视频无码_色偷偷男人的天堂a v_欧美熟乱第1页_欧美Z0ZO人禽交免费观看_好诱人的搜子_青青热久免费精品视频在_青青国产揄拍视频