QProxyStyle¶
The QProxyStyle
class is a convenience class that simplifies dynamically overriding QStyle
elements. More…
Synopsis¶
Functions¶
def
baseStyle
()def
setBaseStyle
(style)
Detailed Description¶
A QProxyStyle
wraps a QStyle
(usually the default system style) for the purpose of dynamically overriding painting or other specific style behavior.
The following example shows how to override the shortcut underline behavior on any platform:
from textedit import * from PySide6.QtWidgets import QApplication from PySide6.QtWidgets import QProxyStyle class MyProxyStyle(QProxyStyle): # public int styleHint(StyleHint hint, QStyleOption option = None, widget = None, QStyleHintReturn returnData = None) override() if (hint == QStyle.SH_UnderlineShortcut) return 0 return QProxyStyle.styleHint(hint, option, widget, returnData) if __name__ == "__main__": Q_INIT_RESOURCE(textedit) a = QApplication(argc, argv) a.setStyle(MyProxyStyle) mw = TextEdit() mw.resize(700, 800) mw.show() #...
Warning: The common styles
provided by Qt will respect this hint, because they call proxy()
, but there is no guarantee that proxy()
will be called for user defined or system controlled styles. It would not work on a Mac, for example, where menus are handled by the operating system.
When a proxy style should be set on a specific widget only, you have to make sure to not set the proxy on the global application style which is returned by style()
. You have to create a separate custom style for the widget similar to:
... proxy = MyProxyStyle(QApplication.style().name()) proxy.setParent(widget) # take ownership to avoid memleak widget.setStyle(proxy) ...See also
- class PySide6.QtWidgets.QProxyStyle([style=None])¶
PySide6.QtWidgets.QProxyStyle(key)
- Parameters
key – str
style –
PySide6.QtWidgets.QStyle
Constructs a QProxyStyle
object for overriding behavior in the specified style
, or in the default native style
if style
is not specified.
Ownership of style
is transferred to QProxyStyle
.
Constructs a QProxyStyle
object for overriding behavior in the base style specified by style key
, or in the current application style
if the specified style key
is unrecognized.
See also
- PySide6.QtWidgets.QProxyStyle.baseStyle()¶
- Return type
Returns the proxy base style object. If no base style is set on the proxy style, QProxyStyle
will create an instance of the application style instead.
See also
- PySide6.QtWidgets.QProxyStyle.setBaseStyle(style)¶
- Parameters
style –
PySide6.QtWidgets.QStyle
Sets the base style that should be proxied.
Ownership of style
is transferred to QProxyStyle
.
If style is None
, a desktop-dependent style will be assigned automatically.
See also
© 2022 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.