QStyleOptionclass stores the parameters used byQStyle函数。 更多 …
继承者: QStyleOptionButton , QStyleOptionComboBox , QStyleOptionComplex , QStyleOptionDockWidget , QStyleOptionFocusRect , QStyleOptionFrame , QStyleOptionGraphicsItem , QStyleOptionGroupBox , QStyleOptionHeader , QStyleOptionMenuItem , QStyleOptionProgressBar , QStyleOptionRubberBand , QStyleOptionSizeGrip , QStyleOptionSlider , QStyleOptionSpinBox , QStyleOptionTab , QStyleOptionTabBarBase , QStyleOptionTabWidgetFrame , QStyleOptionTitleBar , QStyleOptionToolBar , QStyleOptionToolBox , QStyleOptionToolButton , QStyleOptionViewItem
QStyleOptionand its subclasses contain all the information thatQStylefunctions need to draw a graphical element.出于性能原因,有很少成员函数,且对成员变量的访问是直接的 (即:使用
.or->operator). This low-level feel makes the structures straightforward to use and emphasizes that these are simply parameters used by the style functions.The caller of a
QStylefunction usually createsQStyleOptionobjects on the stack. This combined with Qt’s extensive use of 隐式共享 for types such asQString,QPalette,和QColorensures that no memory allocation needlessly takes place.The following code snippet shows how to use a specific
QStyleOptionsubclass to paint a push button:def paintEvent(self, qpaintevent): option = QStyleOptionButton() option.initFrom(self) if isDown(): option.state = QStyle.State_Sunken else: option.state = QStyle.State_Raised if self.isDefault(): option.features = option.features or QStyleOptionButton.DefaultButton option.text = self.text() option.icon = self.icon() painter = QPainter(self) self.style().drawControl(QStyle.CE_PushButton, option, painter, self)In our example, the control is a
CE_PushButton, and according to thedrawControl()documentation the corresponding class isQStyleOptionButton.When reimplementing
QStylefunctions that take aQStyleOptionparameter, you often need to cast theQStyleOptionto a subclass. For safety, you can useqstyleoption_cast()to ensure that the pointer type is correct. For example:def drawPrimitive(self, element, option, painter, widget): if element == self.PE_FrameFocusRect: focusRectOption = QStyleOptionFocusRect(option) if focusRectOption: # ... # ...
qstyleoption_cast()function will return 0 if the object to whichoptionpoints is not of the correct type.对于可以如何使用样式选项的演示范例,见 样式 范例。
另请参阅
QStyleOption
(
other
)
¶
QStyleOption([version=QStyleOption.Version[, type=SO_Default]])
- param type
int- param other
- param version
int
构造副本为
other
.
构造
QStyleOption
with the specified
version
and
type
.
The version has no special meaning for
QStyleOption
; it can be used by subclasses to distinguish between different version of the same option type.
state
成员变量被初始化为
State_None
.
另请参阅
version type
PySide2.QtWidgets.QStyleOption.
OptionType
¶
此枚举被内部使用,通过
QStyleOption
, its subclasses, and
qstyleoption_cast()
to determine the type of style option. In general you do not need to worry about this unless you want to create your own
QStyleOption
subclass and your own styles.
|
常量 |
描述 |
|---|---|
|
QStyleOption.SO_Button |
|
|
QStyleOption.SO_ComboBox |
|
|
QStyleOption.SO_Complex |
|
|
QStyleOption.SO_Default |
|
|
QStyleOption.SO_DockWidget |
|
|
QStyleOption.SO_FocusRect |
|
|
QStyleOption.SO_Frame |
|
|
QStyleOption.SO_GraphicsItem |
|
|
QStyleOption.SO_GroupBox |
|
|
QStyleOption.SO_Header |
|
|
QStyleOption.SO_MenuItem |
|
|
QStyleOption.SO_ProgressBar |
|
|
QStyleOption.SO_RubberBand |
|
|
QStyleOption.SO_SizeGrip |
|
|
QStyleOption.SO_Slider |
|
|
QStyleOption.SO_SpinBox |
|
|
QStyleOption.SO_Tab |
|
|
QStyleOption.SO_TabBarBase |
|
|
QStyleOption.SO_TabWidgetFrame |
|
|
QStyleOption.SO_TitleBar |
|
|
QStyleOption.SO_ToolBar |
|
|
QStyleOption.SO_ToolBox |
|
|
QStyleOption.SO_ToolButton |
|
|
QStyleOption.SO_ViewItem |
|
The following values are used for custom controls:
|
常量 |
描述 |
|---|---|
|
QStyleOption.SO_CustomBase |
Reserved for custom QStyleOptions; all custom controls values must be above this value |
|
QStyleOption.SO_ComplexCustomBase |
Reserved for custom QStyleOptions; all custom complex controls values must be above this value |
另请参阅
type
PySide2.QtWidgets.QStyleOption.
StyleOptionType
¶
This enum is used to hold information about the type of the style option, and is defined for each
QStyleOption
子类。
|
常量 |
描述 |
|---|---|
|
QStyleOption.Type |
The type of style option provided (
|
The type is used internally by
QStyleOption
, its subclasses, and
qstyleoption_cast()
to determine the type of style option. In general you do not need to worry about this unless you want to create your own
QStyleOption
subclass and your own styles.
另请参阅
StyleOptionVersion
PySide2.QtWidgets.QStyleOption.
StyleOptionVersion
¶
This enum is used to hold information about the version of the style option, and is defined for each
QStyleOption
子类。
|
常量 |
描述 |
|---|---|
|
QStyleOption.Version |
1 |
The version is used by
QStyleOption
subclasses to implement extensions without breaking compatibility. If you use
qstyleoption_cast()
, you normally do not need to check it.
另请参阅
StyleOptionType
PySide2.QtWidgets.QStyleOption.
version
¶
PySide2.QtWidgets.QStyleOption.
type
¶
PySide2.QtWidgets.QStyleOption.
state
¶
PySide2.QtWidgets.QStyleOption.
direction
¶
PySide2.QtWidgets.QStyleOption.
rect
¶
PySide2.QtWidgets.QStyleOption.
fontMetrics
¶
PySide2.QtWidgets.QStyleOption.
palette
¶
PySide2.QtWidgets.QStyleOption.
styleObject
¶