2014-05-20 61 views
2

在Qt中,您可以禁用dockWidgets。如果我這樣做,這些選項卡會顯示在dockWidgets的底部,如左側草圖所示。這是我在Windows 7下使用最新的Qt4和PyQt4獲得的行爲。我如何告訴Qt將標籤放置在dockWidgets頂部,如右圖所示 ?Qt - 如何在頂部顯示tabified dockwidget的選項卡而不是底部

default: tabs on bottom     I want: tabs on top 
+--------------------+     +------+-----+ 
| dockWidget1  |     | tab1 | tab2|-------+ 
|     |     |     | 
| tab1 | tab2|-------|     | dockWidget1  | 
+------+-----+       +--------------------+ 
+0

@hyde的OP是問'QDockWidget'而非QTabWidget的** 「tabification」 **。這個功能並不是微不足道的,因爲它是在'QMainWindow'中定義的,並且你的鏈接根本不回答這個問題。 – Tay2510

+0

@ Tay2510哎呀,你說得對。在[this]的文檔中找到正確的位置(http://qt-project.org/doc/qt-4.8/qmainwindow.html#setTabPosition)的確可以進行一些搜索。那麼,我沒有倒下自己的好東西(而且這個建議本身是完善的,即使對這個問題毫無根據)... – hyde

回答

3

您可以撥打

QMainWindow.setTabPosition (self, Qt.DockWidgetAreas areas, QTabWidget.TabPosition tabPosition)

(注意,這適用於特定的碼頭區,這意味着你可以有不同的選項卡配置不同的停靠區域。)

與枚舉:Qt.DockWidgetAreasQTabWidget.TabPosition

#Qt.DockWidgetAreas 
Constant     Value 
---------------------  ------- 
Qt.LeftDockWidgetArea  0x1 
Qt.RightDockWidgetArea  0x2 
Qt.TopDockWidgetArea  0x4 
Qt.BottomDockWidgetArea  0x8 
Qt.AllDockWidgetAreas  DockWidgetArea_Mask 
Qt.NoDockWidgetArea   0 


#QTabWidget.TabPosition 
Constant   Value  Description 
----------  ------- ----------- 
QTabWidget.North 0  The tabs are drawn above the pages. 
QTabWidget.South 1  The tabs are drawn below the pages. 
QTabWidget.West  2  The tabs are drawn to the left of the pages. 
QTabWidget.East  3  The tabs are drawn to the right of the pages. 

(參考:http://pyqt.sourceforge.net/Docs/PyQt4/qmainwindow.html#setTabPosition

這裏是結果:

enter image description here

相關問題