Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- from PySide6 import QtCore, QtWidgets
- if sys.platform == "win32":
- class DockWidget(QtWidgets.QDockWidget):
- """A `QtWidgets.QDockWidget` that doesn't display an `&` in the title.
- The issue occurs on Windows OS.
- """
- def __init__(self, parent: QtWidgets.QWidget | None = None) -> None:
- super().__init__(parent)
- @QtCore.Slot()
- def on_top_level_changed(_top_level: bool) -> None:
- if self.windowHandle() is not None:
- self.windowHandle().setTitle(self.windowTitle().replace("&", ""))
- self.topLevelChanged.connect(on_top_level_changed)
- def restoreGeometry(self, geometry: QtCore.QByteArray | bytes | bytearray | memoryview) -> bool:
- res: bool = super().restoreGeometry(geometry)
- if self.windowHandle() is not None:
- self.windowHandle().setTitle(self.windowTitle().replace("&", ""))
- return res
- def setWindowTitle(self, title: str) -> None:
- super().setWindowTitle(title.replace("&", ""))
- if self.windowHandle() is not None:
- self.windowHandle().setTitle(title.replace("&", ""))
- self.toggleViewAction().setText(title)
- QtWidgets.QDockWidget = DockWidget
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement