如何使用 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】:

默认情况下,停靠选项已设置AllowTabbedDocksAnimatedDocks,因此您无需执行任何操作。使用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的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PyQt5 设置窗口图标?

如何正确设置在 PyQt5 上缩放的 Pixmap?

如何设置 PyQt5 QIntValidator 的顶部和底部?

PyQt5 获取器和设置器

Pyqt5如何设置URL并显示页面

如何在 PyQt5 中横向打印?