如何使用 PyQt5 设置枚举 AllowTabbedDocks
Posted
技术标签:
【中文标题】如何使用 PyQt5 设置枚举 AllowTabbedDocks【英文标题】:How to set enum AllowTabbedDocks with PyQt5 【发布时间】:2016-09-24 03:29:48 【问题描述】:我想为我的 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
类?我的问题可能很奇怪,因为我无法正确理解。
【问题讨论】:
【参考方案1】:默认情况下,停靠选项已设置AllowTabbedDocks
和AnimatedDocks
,因此您无需执行任何操作。使用bitwise operations 可以将多个选项组合为一个。
您可以使用&
(AND) 运算符测试是否设置了选项:
print(bool(self.dockOptions() & QMainWindow.AllowTabbedDocks))
要删除选项,请使用~
(NOT) 运算符:
self.setDockOptions(self.dockOptions() & ~QMainWindow.AllowTabbedDocks)
要添加选项,请使用|
(OR) 运算符:
self.setDockOptions(self.dockOptions() | QMainWindow.AllowTabbedDocks)
【讨论】:
谢谢,这真的很有帮助以上是关于如何使用 PyQt5 设置枚举 AllowTabbedDocks的主要内容,如果未能解决你的问题,请参考以下文章