我想为我的PyQt5应用程序创建一个QMainWindow。我想使用AllowTabbedDocks
,但为此我需要将AllowTabbedDocks
设置为True
。我不知道该怎么做。
从Qt文档中,我发现了这两个方法:
class MainWindow(QMainWindow):
def __init__(self, url):
super(MainWindow, self).__init__()
.....
self.setDockOption()
self.DockOptions()
QMainWindow类中可用的标志如下:
AllowNestedDocks = 2
AllowTabbedDocks = 4
AnimatedDocks = 1
ForceTabbedDocks = 8
GroupedDragging = 32
VerticalTabs = 16
我的问题是如何使用:
dockOptions()
setDockOption()
的QMainWindow
类?我的问题可能很奇怪,因为我无法正确理解。
默认情况下,dock选项已经设置了AllowTabbedDocks
和AnimatedDocks
,因此您不需要做任何事情。多个选项可以通过按位操作组合成一个。
您可以使用&
(AND)操作符来测试一个选项是否被设置:
print(bool(self.dockOptions() & QMainWindow.AllowTabbedDocks))
要删除一个选项,使用~
(NOT)操作符:
self.setDockOptions(self.dockOptions() & ~QMainWindow.AllowTabbedDocks)
要添加一个选项,使用|
(OR)操作符:
self.setDockOptions(self.dockOptions() | QMainWindow.AllowTabbedDocks)