精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Qt應用程序出現卡頓的現象怎么解決呢

工程師鄧生 ? 來源:嵌入式小生 ? 作者:iriczhao ? 2022-09-23 10:38 ? 次閱讀

本文描述一個以前小生在工作中遇到的一個Qt小坑:在使用Qt完成項目開發后,需要將其運行在嵌入式linux平臺上,在設備啟動后,經uboot引導和linux內核后,直接進入Qt應用程序。然而在進入Qt應用程序時,出現了卡頓的現象(也不能說是卡頓,就是在顯示窗體的時候效果有點瑕疵),類似于下圖所示效果:

60a964d2-3ad6-11ed-9e49-dac502259ad0.gif

(注:屏幕閃光是由于拍攝的影響)

注:使用的Qt版本為5.12.9

在Qt開發中,顯示窗體有常見的幾種方式:

【方式一】

6153ddc2-3ad6-11ed-9e49-dac502259ad0.png

【方式二】

6186c44e-3ad6-11ed-9e49-dac502259ad0.png

以上兩種代碼寫法,在實際嵌入式linux+Qt中,在顯示窗體時都會先出現一個小圖形界面然后再填充全屏,看上去就像卡頓了一樣。

剛開始,懷疑是處理器性能問題,在軟件啟動前期加載受到了影響,但是所用的處理器在性能上應該還可以,于是乎,寫了一個最簡單的Qt demo來測試,發現問題同樣存在,于是定位問題在Qt程序設計上。于是換了一種寫法:

【方式三】

61a49f0a-3ad6-11ed-9e49-dac502259ad0.png

使用resize()重新設置大小,上述代碼中1280和800是實際屏幕的像素比,然后使用show()顯示窗體。通過這種方式,顯示窗體的效果就變得好些了。效果如下:

61bb2658-3ad6-11ed-9e49-dac502259ad0.gif

(注:屏幕閃光是由于拍攝的影響)

在Qt中,顯示窗體主要有以下幾個函數:

voidQWidget::show()

voidQWidget::showFullScreen()

voidQWidget::showMaximized()

voidQWidget::showMinimized()

voidQWidget::showNormal()

上述函數中,以下四個函數在Windows平臺效果明顯,運行也正常,在linux平臺上,大概率會有些問題:

showFullScreen():以全屏模式顯示小部件。

655a14ae-3ad6-11ed-9e49-dac502259ad0.png


showMaximized():顯示最大化的小部件。

65969c6c-3ad6-11ed-9e49-dac502259ad0.png

showMinimized():顯示最小化的小部件。

65b92bf6-3ad6-11ed-9e49-dac502259ad0.png


showNormal():顯示正常的小部件。

65e7ebd0-3ad6-11ed-9e49-dac502259ad0.png

可見,『方式三』的寫法,運行出來的窗體顯示效果要好很多了。




審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5071

    文章

    19026

    瀏覽量

    303497
  • Uboot
    +關注

    關注

    4

    文章

    125

    瀏覽量

    28168
  • LINUX內核
    +關注

    關注

    1

    文章

    316

    瀏覽量

    21619

原文標題:經驗 | 如何破Qt窗體的“卡頓”

文章出處:【微信號:嵌入式小生,微信公眾號:嵌入式小生】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    求大神賜教:Labview程序,運行3-4小時,就會出現現象

    求大神賜教:本人是剛剛入門者。Labview程序生成exe文件后,在Windows系統下運行3-4小時,就會出現。本程序涉及到上位機與下
    發表于 11-22 16:41

    VeriStand運行時出現現象,如何解決?

    、History Length為50 sec、Update Rate為10Hz。問題現象:然后運行該工程到仿真機中,界面一開始就會出現現象
    發表于 06-06 20:39

    運行VeriStand的過程中出現現象,如何解決?

    、History Length為50 sec、Update Rate為10Hz。問題現象:然后運行該工程到仿真機中,界面一開始就會出現現象
    發表于 06-09 10:25

    通過VeriStand加載MATLAB模型到實時仿真機,VeriStand出現現象

    、History Length為50 sec、Update Rate為10Hz。問題現象:然后運行該工程到仿真機中,界面一開始就會出現現象
    發表于 06-09 10:28

    VeriStand出現現象

    、History Length為50 sec、Update Rate為10Hz。問題現象:然后運行該工程到仿真機中,界面一開始就會出現現象
    發表于 06-09 10:29

    在下使用LABVIEW時遇到,當程序運行時,前面板波形圖表顯示出現現象是怎么回事

    各位大神,在下使用LABVIEW時遇到,當程序運行時,前面板波形圖表顯示出現現象,即波形圖表內顯示的波形靜止幾秒后更新一次,然后再靜止幾
    發表于 04-26 19:26

    在匿名四軸上位機上顯示時出現現象

    出現這一問題的程序是我在F4提供的例程上稍作修改寫的程序,由于還未學習LCD,刪除了有關LCD的代碼。主循環中的代碼比例程中的更少,而且也沒有延時函數影響。為什么最后在匿名四軸上位機上顯示時
    發表于 05-20 22:41

    STM32+uc/os II+uc/gui顯示出現白屏現象

    之前移植了uc/os II,創建了多個任務,包括LCD顯示任務,均能正常運行!后面移植了uc/gui,將LCD顯示任務中的顯示函數換成uCGUI的函數,顯示出現白屏現象!!!!之前
    發表于 03-18 04:35

    Qt編譯以前的應用程序缺失請問怎么解決

    Qt 編譯以前的應用程序出現找不到 -lGLESv2 -lQt5Sql -lQt5Netword -lQt5Core 這個到底是Qt的問題,還是應用
    發表于 01-14 08:32

    NUC123SD4AN0連接IMAC出現回放和斷續現象怎么解決?

    我使用NUC123SD4AN0通過SPI,I2S連接AUDIO DSP, DSO接一個AKM CODEC.這個設備主要相當于一個AUDIO MIC設備,當USB連接WINDOWS PC的時候,設備工作正常,但是當連接APPLE MAC電腦的時候,出現明顯的回放
    發表于 06-15 07:10

    基于QT/Embedded的可變情報板應用程序開發

    基于QT/Embedded的可變情報板應用程序開發 QT是奇趣科技推出的一種多平臺的C++圖形用戶界面應用程序框架。它包括QT開發庫
    發表于 03-03 09:36 ?775次閱讀

    基于QT/Embedded的可變情報板應用程序開發

    基于QT/Embedded的可變情報板應用程序開發  0引言   QT是奇趣科技推出的一種多平臺的C++圖形用戶界面應用程序框架。它包括QT
    發表于 03-09 10:39 ?908次閱讀

    解決蘋果ios10.3.2耗電快及現象的方法

    最近,又有了一個困惑無數果粉的問題,有果粉反映,自從更新了ios10.3.2之后,手機就耗電十分快,甚至還會出現現象。所以,要怎樣解決
    發表于 04-15 10:56 ?9351次閱讀

    嵌入式Linux應用程序開發-(1)第一個嵌入式QT應用程序

    第一個嵌入式QT應用程序在成功安裝 Qt Creator 開發環境后,我們通過一個簡單的嵌入式Qt應用程序,來說明一下如何構建和編譯一個
    發表于 11-01 17:21 ?16次下載
    嵌入式Linux<b class='flag-5'>應用程序</b>開發-(1)第一個嵌入式<b class='flag-5'>QT</b><b class='flag-5'>應用程序</b>

    A40i應用筆記 | Qt應用程序開發工具 Qt Creator的安裝及使用

    簡介本文主要介紹Qt應用程序開發工具QtCreator的安裝及使用飛凌移植好的Qt的SDK來搭建Qt應用程序開發環境的方法。Ubuntu環境
    的頭像 發表于 02-25 10:03 ?1438次閱讀
    A40i應用筆記 | <b class='flag-5'>Qt</b><b class='flag-5'>應用程序</b>開發工具 <b class='flag-5'>Qt</b> Creator的安裝及使用