如何在我的 PyQT 应用程序中禁用 Mac OS 上的全屏模式?

How can I disable full screen mode on Mac OS in my PyQT app?

我有一个简单的 PyQt 应用程序,我试图阻止该应用程序在单击绿色最大化按钮时进入全屏模式(理想行为)或完全禁用该操作(如果无法完成第一个操作) ).我试过删除 window 标志之一,但它似乎没有效果:

class AppWindow(QMainWindow):
    def __init__(self, main_widget):
        super(AppWindow, self).__init__()
        self.setWindowFlags(self.windowFlags() & ~Qt.WindowFullscreenButtonHint)

我认为这实际上应该删除最大化按钮,但它甚至没有这样做。我希望保留最大按钮,但不能进入全屏模式,或者如果我可以以某种方式覆盖按钮行为

这在任何地方都没有很好的记录,但我在一些随机帖子中发现它并且它似乎有效:

self.setWindowFlags((self.windowFlags() & ~Qt.WindowFullscreenButtonHint) | Qt.CustomizeWindowHint)

这添加了 CustomizeWindowHint,它允许您删除 WindowFullscreenButtonHint 标志并实际应用它。