如何在pyQt QDockWidget中禁用/隐藏“关闭”按钮

the*_*fog 2 pyqt qdockwidget

我试图禁用关闭的“ x”按钮,并且我认为可以通过将DockWidgetFeature设置为仅可移动和可浮动来起作用。

def CreateDockWidget (self):

    Pane = QtGui.QDockWidget()
    Pane.DockWidgetFeatures =  QtGui.QDockWidget.DockWidgetFloatable | QtGui.QDockWidget.DockWidgetMovable;
    Pane.setAllowedAreas( QtCore.Qt.LeftDockWidgetArea | QtCore.Qt.RightDockWidgetArea )
    textBox1 = QtGui.QTextEdit()
    Pane.setWidget(textBox1 )
    self.addDockWidget( QtCore.Qt.LeftDockWidgetArea, Pane )
Run Code Online (Sandbox Code Playgroud)

为什么上述方法不起作用?顺便说一句,如果我没有设置floatable,它将保持可浮动状态,直到其不可停靠(floating)为止,然后我将无法重新停靠它。这是为什么 ?

谢谢

Yoa*_*ann 5

您是对的,但实际上并没有设置DockWidget的功能。呼叫

Pane.setFeatures(QtGui.QDockWidget.DockWidgetFloatable | 
                 QtGui.QDockWidget.DockWidgetMovable)
Run Code Online (Sandbox Code Playgroud)

而不是用分配删除DockWidgetFeatures,您应该一切都好!