2016-09-24 188 views
2

我想爲我的PyQt5應用程序創建一個QMainWindow。我想使用AllowTabbedDocks,但爲此我需要將AllowTabbedDocks設置爲True。我無法想象如何做到這一點。如何使用PyQt5設置枚舉AllowTabbedDocks

與qt documenttation,我發現這兩種方法:在的QMainWindow類

class MainWindow(QMainWindow): 
    def __init__(self, url): 
     super(MainWindow, self).__init__() 
     ..... 
     self.setDockOption() 
     self.DockOptions() 

可用的標誌如下:

AllowNestedDocks = 2 
AllowTabbedDocks = 4 
AnimatedDocks = 1 
ForceTabbedDocks = 8 
GroupedDragging = 32 
VerticalTabs = 16 

我的問題是如何使用:

dockOptions() 
setDockOption() 

QMainWindow類?我的問題可能很奇怪,因爲我無法正確理解。

回答

1

默認情況下,碼頭選項已設置AllowTabbedDocksAnimatedDocks,因此您不需要執行任何操作。使用bitwise operations可以將幾個選項合併爲一個選項。

您可以測試一個選項是否被使用&(AND)運算符設置:

print(bool(self.dockOptions() & QMainWindow.AllowTabbedDocks)) 

刪除選項,使用~(NOT)運算符:

self.setDockOptions(self.dockOptions() & ~QMainWindow.AllowTabbedDocks) 

添加一個選項,使用|(OR)運算符:

self.setDockOptions(self.dockOptions() | QMainWindow.AllowTabbedDocks) 
+0

謝謝,這真實有幫助 – wrufesh