【问题标题】:How to set enum AllowTabbedDocks with PyQt5如何使用 PyQt5 设置枚举 AllowTabbedDocks
【发布时间】: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 类?我的问题可能很奇怪,因为我无法正确理解。

【问题讨论】:

    标签: python-3.x qt5 pyqt5


    【解决方案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)
    

    【讨论】:

    • 谢谢,这真的很有帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-19
    • 1970-01-01
    • 2011-05-30
    • 2023-03-31
    • 1970-01-01
    相关资源
    最近更新 更多