【Qt】QLayoutItem类
00. 目錄
文章目錄
- 00. 目錄
- 01. 概述
- 02. 公有成員方法
- 03. QLayoutItem詳細(xì)說明
- 04. 成員方法詳解
- 05. 預(yù)留
- 06. 附錄
01. 概述
對(duì)于一個(gè)完善的軟件,布局管理是必不可少的。 無論是想要界面中部件有一個(gè)很整齊的排列,還是想要界面能適應(yīng)窗口的大小變化,都要進(jìn)行布局管理。Qt 提供了 QLayout 類及其子類來作為布局管理器,它們可以實(shí)現(xiàn)常用的布局管理功能。
QLayoutItem類提供了QLayout操縱的抽象項(xiàng)。
02. 公有成員方法
03. QLayoutItem詳細(xì)說明
這是自定義布局使用的。
提供了純虛函數(shù)來返回有關(guān)布局的信息,包括sizeHint(),minimumSize(),maximumSize()和expanding()。
可以使用setGeometry()和geometry()設(shè)置和檢索布局的幾何圖形,并使用setAlignment()和alignment()對(duì)其進(jìn)行對(duì)齊。
isEmpty()返回布局項(xiàng)是否為空。如果具體項(xiàng)目是QWidget,則可以使用widget()檢索它。類似于layout()和spacerItem()。
一些布局具有寬度和高度相互依賴性。這些可以使用hasHeightForWidth(),heightForWidth()和minimumHeightForWidth()表示。
04. 成員方法詳解
QLayoutItem::QLayoutItem(Qt::Alignment alignment = Qt::Alignment()) 構(gòu)造一個(gè)帶有alignment的布局項(xiàng)。并非所有子類都支持對(duì)齊。 [virtual] QLayoutItem::~QLayoutItem() 銷毀QLayoutItem。Qt::Alignment QLayoutItem::alignment() const 返回LayoutItem的對(duì)齊方式。 [virtual] QSizePolicy::ControlTypes QLayoutItem::controlTypes() const 返回布局項(xiàng)目的控件類型。對(duì)于QWidgetItem,控件類型來自于控件的大小策略;對(duì)于控件,控件類型來自控件的大小策略。 對(duì)于QLayoutItem,控件類型是從布局的內(nèi)容派生的。[pure virtual] Qt::Orientations QLayoutItem::expandingDirections() const 返回此布局項(xiàng)目是否可以使用比sizeHint()更多的空間。Qt::Vertical或Qt::Horizontal只有一個(gè)尺寸上增長(zhǎng), 而Qt::Vertical | Qt::Horizontal 表示它希望在兩個(gè)維度上都增長(zhǎng)。 [pure virtual] QRect QLayoutItem::geometry() const 返回此布局項(xiàng)目覆蓋的矩形。[virtual] bool QLayoutItem::hasHeightForWidth() const 如果此布局的首選高度取決于其寬度,則返回true;否則返回false。默認(rèn)實(shí)現(xiàn)返回false。 在支持寬度的高度的布局管理器中重新實(shí)現(xiàn)此功能。 [virtual] int QLayoutItem::heightForWidth(int) const 在給定寬度的情況下,返回此布局項(xiàng)目的首選高度,該高度在此默認(rèn)實(shí)現(xiàn)中不使用。默認(rèn)實(shí)現(xiàn)返回-1,指示首選的高度與項(xiàng)目的寬度無關(guān)。使用hasHeightForWidth()函數(shù)通常比調(diào)用此函數(shù)并測(cè)試-1快得多。在支持寬度的高度的布局管理器中重新實(shí)現(xiàn)此功能。一個(gè)典型的實(shí)現(xiàn)將如下所示:int MyLayout::heightForWidth(int w) const{if (cache_dirty || cached_width != w) {MyLayout *that = const_cast<MyLayout *>(this);int h = calculateHeightForWidth(w);that->cached_hfw = h;return h;}return cached_hfw;}[virtual] void QLayoutItem::invalidate() 使此布局項(xiàng)目中的所有緩存信息無效。[pure virtual] bool QLayoutItem::isEmpty() const 在子類中實(shí)現(xiàn),以返回此項(xiàng)目是否為空,即是否包含任何小部件。[virtual] QLayout *QLayoutItem::layout() 如果該項(xiàng)目是QLayout,則作為QLayout返回; 否則nullptr返回。此功能提供類型安全的轉(zhuǎn)換。[pure virtual] QSize QLayoutItem::maximumSize() const 在子類中實(shí)現(xiàn)以返回此項(xiàng)目的最大大小。[virtual] int QLayoutItem::minimumHeightForWidth(int w) const 返回此小部件在給定寬度w下所需的最小高度。默認(rèn)實(shí)現(xiàn)只是返回heightForWidth(w)。[pure virtual] QSize QLayoutItem::minimumSize() const 在子類中實(shí)現(xiàn),以返回此項(xiàng)目的最小大小。void QLayoutItem::setAlignment(Qt::Alignment alignment) 將此項(xiàng)目的對(duì)齊方式設(shè)置為alignment。注意:僅QLayoutItem子類支持項(xiàng)目對(duì)齊,因?yàn)镼LayoutItem子類具有視覺效果。除了QSpacerItem, 它為布局提供空白外,所有繼承QLayoutItem的公共Qt類都支持項(xiàng)目對(duì)齊。[pure virtual] void QLayoutItem::setGeometry(const QRect &r) 在子類中實(shí)現(xiàn),以將此項(xiàng)的幾何設(shè)置為r。[pure virtual] QSize QLayoutItem::sizeHint() const 在子類中實(shí)現(xiàn),以返回此項(xiàng)目的首選大小。[virtual] QSpacerItem *QLayoutItem::spacerItem() 如果該項(xiàng)目是QSpacerItem,則作為QSpacerItem返回; 否則nullptr返回。此功能提供類型安全的轉(zhuǎn)換。[virtual] QWidget *QLayoutItem::widget() 如果此項(xiàng)目管理QWidget,則返回該窗口小部件。否則,nullptr返回。05. 預(yù)留
06. 附錄
6.1 Qt教程匯總
網(wǎng)址:https://dengjin.blog.csdn.net/article/details/115174639
總結(jié)
以上是生活随笔為你收集整理的【Qt】QLayoutItem类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Qt】QWidget类详解(函数篇)
- 下一篇: 【Qt】Qt布局管理器