2016-09-24 4 views
2

Ich möchte ein QMainWindow für meine PyQt5 App machen. Ich möchte AllowTabbedDocks verwenden, aber dafür muss ich AllowTabbedDocks auf True setzen. Ich kann mir nicht vorstellen, wie ich das machen soll.Wie setze ich enum AllowTabbedDocks mit PyQt5

Aus dem Qt documenttation, fand ich diese beiden Methoden:

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

Verfügbare Flaggen in QMainWindow Klasse sind wie folgt:

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

Meine Frage ist, wie kann ich verwenden:

dockOptions() 
setDockOption() 

der QMainWindow Klasse? Meine Frage mag seltsam sein, weil ich nicht richtig verstehen kann.

Antwort

1

Standardmäßig sind die Dock-Optionen AllowTabbedDocks und AnimatedDocks bereits festgelegt, Sie müssen also nichts tun. Mehrere Optionen können unter Verwendung von bitwise operations zu einem kombiniert werden.

Sie können testen, ob eine Option unter Verwendung des & (AND) Operator eingestellt ist:

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

eine Option zu entfernen, verwenden Sie die ~ (NOT) Betreiber:

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

hinzufügen eine option, verwenden sie die | (OR) operator:

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

Danke, das ist echt ly geholfen – wrufesh