日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > 充電吧
[導(dǎo)讀]在Qt 中,QWidget有兩個(gè)屬性maximumSize和minimumSize ,這兩個(gè)分別表示窗口大小能拉伸到的最大值,以及能縮小到的最小值。這兩個(gè)屬性通過這個(gè)兩個(gè)函數(shù)設(shè)置,setMaximum


在Qt 中,QWidget有兩個(gè)屬性maximumSize和minimumSize ,這兩個(gè)分別表示窗口大小能拉伸到的最大值,以及能縮小到的最小值。

這兩個(gè)屬性通過這個(gè)兩個(gè)函數(shù)設(shè)置,setMaximumSize(const QSize &),setMinimumSize(const QSize &)。

在查看文檔中發(fā)現(xiàn)有一個(gè)setFixedSize(const QSize &s)函數(shù),這個(gè)函數(shù)就是將maximumSize和minimumSize全部都設(shè)置為參數(shù)S指定的大小。


ps:承載Layout的Widget就是通過調(diào)用setLayout(pLayout)函數(shù)的widget。

關(guān)于Qt的Layout一開始接觸時(shí),各種不習(xí)慣,放到Layout里面管理的控件莫名其妙被縮小或者被拉伸,自己通過resize設(shè)置控件的大小也不管用,以及承載Layout的Widget也無法自己控制其大小??傊褪歉鞣N不習(xí)慣。

到后使用的多發(fā)現(xiàn)Qlayout里面有一個(gè)屬性SizeConstraint,以及QWidget里面有個(gè)屬性SizePolicy,QLayout就是差不多是通過這兩個(gè)屬性來控制控件和窗口的。sizepolicy只有Widget受layout管理時(shí)才有效,也就是將widget添加到Layout里面去。

這兩個(gè)屬性理解起來比較的蛋疼,我是這樣理解的不知道對(duì)還是不對(duì),SizeConstraint是Layout用來控制承載Widget的,而sizepolicy只是管理控件的。


對(duì)于SizeConstraintQt文檔的說明看到有點(diǎn)蛋疼,我后面自己摸索理解的如下:


QLayout::SetDefaultConstraint 這是默認(rèn)值,和QLayout::SetMinimumSize一樣 QLayout::SetFixedSize 承載Widget的大小由Layout控制,和Layout的大小一樣,承載widget無法被拉伸和收縮。而Layout的大小由其內(nèi)部控件進(jìn)行控制,當(dāng)其內(nèi)部控件大小變化時(shí),Layout的大小也將會(huì)變化,從而帶動(dòng)承載Widget大小變化。 QLayout::SetMinimumSize 設(shè)置承載Widget的MinimumSize為QLayout的MinimumSize。

QLayout::SetMaximumSize 設(shè)置承載Widget的MaximumSize為QLayout的MaximumSize。
QLayout::SetMinAndMaxSize 設(shè)置承載Widget的MaximumSize和MinimumSize為QLayout的MinimumSize。
QLayout::SetNoConstraint 不對(duì)承載Widget大小進(jìn)行任何約束,也就是說承載Widget的屬性都由自己管理。

對(duì)于sizepolicy 我的的理解是:


QSizePolicy::Fixed 控件大小是使用控件的sizeHint()提供的值,控件不會(huì)被Layout拉伸或者縮放。 QSizePolicy::Minimum 控件的siziHint()提供的值是控件大小的最小值,部件可以被Layout拉伸。 QSizePolicy::Maximum 控件的sizeHint()提供的值是控件大小的最大值,部件可以被Layout壓縮。 QSizePolicy::Preferred 控件的sizeHint()提供的大小是控件的最佳大小,可以被Layout拉伸或者壓縮。 QSizePolicy::Expanding 控件的sizeHint()提供的大小是合適的大小,控件可以被壓縮,不過更傾向于拉伸來獲得更多的空間 QSizePolicy::MinimumExpanding 控件的sizeHint()提供的大小是控件大小的最小值,部件傾向于被拉伸來獲取更多的空間 QSizePolicy::Ignored sizeHint()的值被忽略,控件將盡可能的被拉伸來獲取更多的空間。
關(guān)于siziHint()是由Qt自己計(jì)算出來的,我們無法控制。當(dāng)我們想控件大小由自己控制,不由Layout控制,

我們可以通過setFixedSize(const QSize &s)這個(gè)函數(shù)來設(shè)置控件的固定大小,設(shè)置完成之后控件的大小不會(huì)再被改變,除非我們又調(diào)用setFixedSize(const QSize &s)來設(shè)置。


當(dāng)Layout的SizeConstraint設(shè)置為QLayout::SetFixedSize時(shí),Layout的大小由控件的大小控制,因此控件的不會(huì)被Layout拉伸或者縮小,控件的大小為sizeHint()的值。



以上為我對(duì)QLayout的理解,可能會(huì)有理解不對(duì),望大家?guī)臀抑赋觥?/p>



常量描述
常量描述
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

Qt是一款由Qt公司(前身為Trolltech)開發(fā)的跨平臺(tái)應(yīng)用程序框架。它提供了豐富的功能,包括圖形用戶界面、數(shù)據(jù)庫操作、網(wǎng)絡(luò)通信等,使得開發(fā)者能夠更加便捷地創(chuàng)建高質(zhì)量、可移植性強(qiáng)的應(yīng)用程序。Qt采用C++編寫,同時(shí)也...

關(guān)鍵字: QT RTOS

摘 要 :為解決制鞋行業(yè)中噴膠精度不高、靈活性差、生產(chǎn)效率低的問題,設(shè)計(jì)一種基于機(jī)器視覺的鞋模噴膠系統(tǒng)。該系統(tǒng)硬件由工業(yè)攝像頭、工控機(jī)及路由器構(gòu)成,軟件則采用圖像識(shí)別庫 OpenCV 與圖形界面應(yīng)用程序開發(fā)框架 Qt 編...

關(guān)鍵字: 機(jī)器視覺 圖像處理 鞋模 噴膠 OpenCV QT

嵌入式系統(tǒng)是指以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。

關(guān)鍵字: QT 嵌入式 C++

摘 要:倉儲(chǔ)作為物流與供應(yīng)鏈的核心環(huán)節(jié),對(duì)食品安全的控制起著至關(guān)重要的作用。溫濕度是影響糧食倉儲(chǔ)過程安全與品質(zhì)的重要因素。文中使用無線傳感網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)采集,通過Qt平臺(tái)設(shè)計(jì)軟件系統(tǒng),并借助數(shù)據(jù)庫進(jìn)行數(shù)據(jù)存儲(chǔ)與分析處理,實(shí)...

關(guān)鍵字: 成品糧 倉儲(chǔ) 溫濕度監(jiān)測(cè) 無線傳感網(wǎng)絡(luò) QT

在此部件上繪制行號(hào),并將其放置在CodeEditor的viewport()的左邊距區(qū)域上,QWidget類也可以幫助我們對(duì)其內(nèi)容進(jìn)行滾動(dòng)。

關(guān)鍵字: QT 代碼編輯器

不管是Qt新手還是開發(fā)過qt的群體來說,對(duì)Qt Designer、Qt Quick Designer、Qt Creator這幾個(gè)應(yīng)用程序肯定是熟悉的。

關(guān)鍵字: QT IDE C

在當(dāng)今社會(huì),人們的生活水平普遍提高,工作強(qiáng)度越來越大,營養(yǎng)的過剩和運(yùn)動(dòng)量的減少,導(dǎo)致心腦血管疾病的發(fā)病率是越來越高。

關(guān)鍵字: Linux QT GPRS 遠(yuǎn)程集群式 心臟病人實(shí)時(shí)診斷系

qt值得學(xué)習(xí)嗎? 嵌入式要學(xué)的東西真的很多,我們可能會(huì)說不寫界面的話就不用學(xué)qt了?我不贊同。

關(guān)鍵字: 嵌入式 QT UI

什么是qt?簡單點(diǎn)說,Qt 就是一個(gè)跨平臺(tái)的 C++ 圖形用戶界面庫,可以同時(shí)支持桌面應(yīng)用程序開發(fā)、嵌入式開發(fā)和移動(dòng)開發(fā),覆蓋了現(xiàn)有的所有主流平臺(tái)。

關(guān)鍵字: QT 程序 開發(fā)

qt值得學(xué)習(xí)嗎? 嵌入式要學(xué)的東西真的很多,我們可能會(huì)說不寫界面的話就不用學(xué)qt了?我不贊同,原因是……

關(guān)鍵字: 嵌入式 QT
關(guān)閉