chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內(nèi)不再提示

Qt“大小限定”背后的思路和“坑”

嵌入式小生 ? 來源:嵌入式小生 ? 2023-02-02 10:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、導讀

在使用Qt開發(fā)界面的時候,大小限定是常使用的操作。在界面元素的鼻祖QWidget中提供了一系列的方法,用于設定指定元素的大小或者最小/最大的大?。?/p>

//設置最大高度
voidsetMaximumHeight(intmaxh)

//設置最大大小
voidsetMaximumSize(constQSize&)

//設置最大大?。ò畲髮挾?、最大高度)
voidsetMaximumSize(intmaxw,intmaxh)

//設置最大寬度
voidsetMaximumWidth(intmaxw)

//設置最小高度
voidsetMinimumHeight(intminh)

//設置最小大小
voidsetMinimumSize(constQSize&)

//設置最小大?。ò钚挾取⒆钚「叨龋?/span>
voidsetMinimumSize(intminw,intminh)

//設置最小寬度
voidsetMinimumWidth(intminw)

//設置固定高度
voidsetFixedHeight(inth)

//設置固定寬度
voidsetFixedWidth(intw)

//設置固定大小
voidsetFixedSize(constQSize&s)

//設置固定大?。ò潭▽挾群透叨龋?/span>
voidsetFixedSize(intw,inth)

上述的成員函數(shù),功能與名稱描述一致。

在不同顯示屏大小的平臺下,或者需要開發(fā)自適應大小的應用窗體時,大小限定是必備的操作。

二、大小限定背后的設計思路

如果應用程序的界面窗體大小在實際開發(fā)中大小是不變的,就需要使用setFixedxxx函數(shù)將窗體設置為固定的大小,不然,在鼠標拖動的情況下,且窗體中的各界面控件沒有設計自適應,則會出現(xiàn)窗體填充不滿或者多控件之間彼此覆蓋的情況,例如如果使用《Qt這四種設置窗體背景的方法,都知道嗎?》一文中所述的QPalette方法設置了背景圖:

Widget::Widget(QWidget*parent)
:QWidget(parent),
ui(newUi::Widget)
{
ui->setupUi(this);

QPalettepalette=this->palette();
palette.setBrush(QPalette::Window,QBrush(QPixmap(":/images/bk.png")));
this->setPalette(palette);
}

這時候拖動鼠標,則會出現(xiàn)下圖所示效果:f5af83f6-a299-11ed-bfe3-dac502259ad0.gif

如果使用QLabel方法設置背景圖:

ui->label->setPixmap(QPixmap(":/images/bk.png"));

則會出現(xiàn)下圖所示效果:

f602f1bc-a299-11ed-bfe3-dac502259ad0.gif

綜上,開發(fā)不需要自適應的窗體界面時,為了不影響應用軟件的界面窗體中呈現(xiàn)內(nèi)容的效果,設置窗體的大小是必要的。

如何設置窗體或者窗體中的界面控件的大小呢?有兩種方法:

(1)在代碼中使用大小限定函數(shù)進行設置。

(2)在Qt Designer中選中需要設置的界面控件對象,右鍵單擊,在彈出的對話框中選擇“大小限定”下的選項。

f63cc3a6-a299-11ed-bfe3-dac502259ad0.png

自適應的窗體開發(fā),需要使用Qt提供的布局器(QBoxLayoutQFormLayout、QGridLayoutQStackedLayout)來完成,在代碼中可以直接進行布局描述。當然,使用Qt Designer能夠進行自適應窗體的快速開發(fā),特別是垂直Spacer和水平Spacer這兩個輔助控件在自適應窗體開發(fā)中特別好用。

三、小生總結

(1)在開發(fā)自適應的應用窗體時,在使用布局器進行布局后,如果窗體大小發(fā)生改變,可能窗體中的子控件大小會受到影響(發(fā)生大小變換),這時候限定子控件的大小是必須的。

(2)在布局的時候,合理設置Spacer的sizeType屬性,往往可以達到我們想要的布局效果。

f668e0bc-a299-11ed-bfe3-dac502259ad0.png

(3)在使用QLabel顯示文本的時候,QLabel大小需要預先評估,否則太長的字符串無法顯示。


審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關注

    關注

    3

    文章

    4399

    瀏覽量

    66328
  • 應用程序
    +關注

    關注

    38

    文章

    3339

    瀏覽量

    59688
  • Qt
    Qt
    +關注

    關注

    2

    文章

    317

    瀏覽量

    39867

原文標題:學Qt,“大小限定”背后的思路和“坑”

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    QT串口通信的簡單使用

    QT串口通信是上位機和下位機通信常用的通信方式, 也是學習QT必須學會的基礎知識, 這篇就簡單介紹一下QT串口通信的簡單使用.
    的頭像 發(fā)表于 01-15 09:27 ?3714次閱讀
    <b class='flag-5'>QT</b>串口通信的簡單使用

    你的DIY背后有什么故事?

    的夜里感嘆我上輩子是不是個折翼的天使,不然怎么會染上了愛拆東西的毛病。后來上大學,進了電子的,才發(fā)現(xiàn)每個同學身上都有傷痕,”這是我拆我家收音機時被我爸打的?!?”我靠你爸下手真重,我拆了電視機也才被我
    發(fā)表于 04-28 20:45

    IAP思路和代碼以及細節(jié)和遇到的地方記錄

    和20K的RAM,也有小道說有后置隱藏的64K,也就是說其實是有128K,我一直也沒有測試,有空測測,有大神這樣說,估計是可以的。這里重點記錄一下我寫的IAP思路和代碼以及細節(jié)和遇到的地方。先大體的概...
    發(fā)表于 08-23 07:15

    基于Qt/Embedded的嵌入式控制界面開發(fā)

    作者通過結合Qt/Embedded的特性和優(yōu)點,提出用Qt/Embedded實現(xiàn)風力發(fā)電控制系統(tǒng)的圖形界面的思路和設計原則,重點介紹了在嵌入式Linux內(nèi)核基礎上Qt/Embedded
    發(fā)表于 08-12 10:14 ?49次下載

    分析QT3與QT4中uic的使用差異

    1、QT3在QT3中,用designer設計
    發(fā)表于 08-25 11:52 ?1436次閱讀

    Qt快速入門手冊

    介紹了在ubuntu系統(tǒng)中安裝qt以及qt的基本使用
    發(fā)表于 06-14 16:05 ?34次下載

    什么是Qt?Qt 5的安裝和開發(fā)步驟及實例及概念解析

    Qt最早是在1991年由奇趣科技開發(fā)的,1996年進入商業(yè)領域,成為全世界范圍內(nèi)數(shù)千種成功的應用程序的基礎。它也是目前流行的Linux桌面環(huán)境KDE的基礎,KDE是Linux發(fā)行版的主要一個標準組件
    發(fā)表于 08-01 08:00 ?0次下載
    什么是<b class='flag-5'>Qt</b>?<b class='flag-5'>Qt</b> 5的安裝和開發(fā)步驟及實例及概念解析

    樹莓派上安裝qt

    在樹莓派上安裝了官方的raspbian系統(tǒng)。為了在能在上面開發(fā)程序,在系統(tǒng)上安裝了qt4 。參考鏈接http://qt-project.org/wiki
    發(fā)表于 04-02 14:41 ?1481次閱讀

    OPPO手環(huán)EVA限定版解析

    不久前,OPPO在推出EVA限定版系列新品時就公布了OPPO手環(huán)的EVA限定版。OPPO手環(huán)EVA限定版定于7月9日10點發(fā)售,定價為299元。本期開箱上手視頻中我們就來為大家來提前看看OPPO手環(huán)EVA
    發(fā)表于 07-15 14:05 ?3180次閱讀

    推薦使用QT5.14或者QT5.15版本 不要急著升級到QT6

    ? 推薦使用QT5.14或者QT5.15版本,不建議升級最新版的QT6,很多你要的功能沒了,特別是開發(fā)上位機需要的模塊沒了。 Qt 6.0 中已移除的模塊,以下是不在
    的頭像 發(fā)表于 01-26 16:37 ?5w次閱讀

    Qt Designer、Qt Quick Designer和Qt Creator應用程序有什么區(qū)別?

    不管是Qt新手還是開發(fā)過qt的群體來說,對Qt Designer、Qt Quick Designer、Qt Creator這幾個應用程序肯定
    的頭像 發(fā)表于 03-17 09:40 ?7838次閱讀

    Qt,“大小限定背后思路和“

    在使用Qt開發(fā)界面的時候,大小限定是常使用的操作。在界面元素的鼻祖QWidget中提供了一系列的方法,用于設定指定元素的大小或者最小/最大的大小
    的頭像 發(fā)表于 02-02 10:31 ?2008次閱讀

    Qt“靈魂”之Meta-Object系統(tǒng)

    Meta-Object即是Qt的元對象系統(tǒng),下文都以元對象系統(tǒng)進行描述。在Qt中,具有標志性特征的則是信號和槽函數(shù)機制,該機制的背后實現(xiàn)本質(zhì)上則是元對象系統(tǒng)。編寫Qt代碼的時候,在定義
    的頭像 發(fā)表于 02-10 13:50 ?3273次閱讀

    基于Qt 5.15源碼來聊聊隱式共享

    在實際開發(fā)中,Qt中很多類可以直接作為函數(shù)參數(shù)傳遞,這是為什么?其背后的實現(xiàn)機制又是什么?這些都歸功于隱式共享
    的頭像 發(fā)表于 02-12 16:52 ?1457次閱讀

    QTQT上位機串口編程

    QTQT上位機串口編程 最近因為項目需要,需要用到上位機,通過串口與上位機進行通訊,來上傳和下發(fā)一些數(shù)據(jù)以及控制指令,所以用QT寫了一個上位機,并記錄下來,免得到時候要用又到處翻資料。
    發(fā)表于 05-08 10:02 ?30次下載
    <b class='flag-5'>QT</b>篇<b class='flag-5'>QT</b>上位機串口編程