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