PyQt(Python+Qt)學習隨筆:QTabWidget選項卡部件外觀展示類屬性elideMode、documentMode、tabBarAutoHide、tabShape介紹

QTabWidget的外觀展示類屬性包括tabPosition、tabShape、elideMode、usesScrollButtons、documentMode、tabBarAutoHide和iconSize。

1. 選項卡欄位置屬性tabPosition
tabPosition屬性用於控制選項卡欄相對選項卡頁面的位置,其類型爲枚舉類QTabWidget.TabPosition,可取枚舉值包括North、South、West、East,分別對應0-3四個整數值。缺省值爲North,即在選項卡頁面上方,可以通過tabPosition()和setTabPosition(TabPosition)方法訪問tabPosition屬性。

2. 選項卡形狀tabShape
tabShape屬性用於控制選項卡欄選項的形狀,其對應類型爲枚舉類QTabWidget.TabShape(相關取值及含義請參考《PyQt(Python+Qt)學習隨筆:Qt Designer中主窗口對象的tabShape屬性》)。tabShape默認值爲QTabWidget.Rounded,可以通過tabShape()和setTabShape(TabShape s)方法訪問該屬性。

3. 選項欄文字省略模式elideMode
QTabWidget的elideMode屬性用於控制選項欄文字在顯示空間不足時的省略號顯示方式,對應類型爲枚舉類型Qt.TextElideMode(具體取值及含義請參考《PyQt(Python+Qt)學習隨筆:QAbstractItemView的textElideMode屬性》),缺省值依賴於樣式。可以通過方法elideMode() 和setElideMode(TextElideMode)來訪問該屬性。

4. 選項卡滾動按鈕標記usesScrollButtons

QTabWidget的usesScrollButtons用於控制當選項卡欄有多個選項卡無足夠空間顯示時是否使用按鈕滾動選項卡。當選項卡欄中的選項卡太多而無法顯示其大小時,選項卡欄可以選擇擴展其大小(此時縮小窗口無法小到有選項卡不能展示完整),也可以添加允許您滾動選項卡的按鈕。下圖是存在選項卡滾動按鈕時的2個對比示例(第一個示例有足夠空間展示選項卡,第二個示例是沒有足夠空間時的情況):
在這裏插入圖片描述
在這裏插入圖片描述
該屬性缺省值值與樣式相關,可以使用方法usesScrollButtons()和setUsesScrollButtons(bool useButtons)訪問。

5. 文檔模式documentMode屬性
QTabWidget的documentMode屬性用於控制是否以適合文檔頁的模式呈現選項卡部件。這與macOS上的文檔模式相同。documentMode屬性爲True時,不會呈現選項卡部件框架,即選項卡頁面和其後的窗口等頁面無框架區分看起來是一個整體。此模式對於頁面需要顯示文檔類型的情況非常有用,因爲節省了選項卡部件框架佔用的部分空間。下圖是文檔模式爲True時的頁面設計顯示:
在這裏插入圖片描述
與上一圖對比明顯頁面可使用空間更多。

6. 隱藏選項卡欄的 tabBarAutoHide屬性
QTabWidget的tabBarAutoHide屬性用於控制當選項卡欄上的選項卡數少於2個時是否自動隱藏選項卡欄,tabBarAutoHide爲True自動隱藏,否則不隱藏。tabBarAutoHide屬性缺省爲False,可以通過方法tabBarAutoHide()和setTabBarAutoHide(bool enabled)來訪問。
下圖是一個三個選項卡的選項卡欄在關閉兩個選項卡標籤後自動隱藏了選項卡欄的案例和未隱藏前後的對比截圖:
在這裏插入圖片描述
可以看到選項卡欄隱藏後,選項卡頁面範圍自動進行了擴展以利用選項卡欄對應的空間。

7.圖標大小iconSize屬性
iconSize屬性用於控制選項卡欄選項的圖標大小,這是圖標的最大大小。如果圖標較小,則不會放大。默認值取決於樣式,可以通過方法iconSize()和setIconSize(QSize size)來訪問該屬性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章