paintEvent
을 다시 구현하고 기본 제목 표시 줄 텍스트를 재정 의하여 구현할 수 있습니다. 윈도우 타이틀은 여전히 탭 텍스트를 설정하는 데 사용되어야합니다
class DockWidget(QtGui.QDockWidget):
_title_text = None
def titleText(self):
if self._title_text is None:
return self.windowTitle()
return self._title_text
def setTitleText(self, text):
self._title_text = text
self.repaint()
def paintEvent(self, event):
painter = QtGui.QStylePainter(self)
if self.isFloating():
options = QtGui.QStyleOptionFrame()
options.initFrom(self)
painter.drawPrimitive(QtGui.QStyle.PE_FrameDockWidget, options)
options = QtGui.QStyleOptionDockWidgetV2()
self.initStyleOption(options)
options.title = self.titleText()
painter.drawControl(QtGui.QStyle.CE_DockWidgetTitle, options)
dockWidget = DockWidget()
dockWidget.setWindowTitle('Tab Text')
dockWidget.setTitleText('Title Text')
PS : 또 다른 옵션은 setTitleBarWidget을 사용하는 것입니다
참고. 그러나, 이것의 큰 단점은 모든 네이티브 윈도우 장식을 잃게된다는 것입니다.
이미지로 원하는 것을 나타낼 수 있습니다. – eyllanesc
설명 할 이미지가 추가되었습니다. – LKeene