• PySide 模块
  • PySide.QtGui
  • 内容表

    上一话题

    QIconEngine

    下一话题

    QStyleOptionToolBox

    QStyleOption

    继承者: QStyleOptionToolBox , QStyleOptionToolBoxV2 , QStyleOptionTabBarBase , QStyleOptionTabBarBaseV2 , QStyleOptionTabWidgetFrame , QStyleOptionViewItem , QStyleOptionViewItemV2 , QStyleOptionViewItemV3 , QStyleOptionViewItemV4 , QStyleOptionFrame , QStyleOptionFrameV2 , QStyleOptionFrameV3 , QStyleOptionFocusRect , QStyleOptionGraphicsItem , QStyleOptionDockWidget , QStyleOptionDockWidgetV2 , QStyleOptionMenuItem , QStyleOptionProgressBar , QStyleOptionProgressBarV2 , QStyleOptionToolBar , QStyleOptionTab , QStyleOptionTabV2 , QStyleOptionTabV3 , QStyleOptionComplex , QStyleOptionSizeGrip , QStyleOptionGroupBox , QStyleOptionTitleBar , QStyleOptionComboBox , QStyleOptionToolButton , QStyleOptionSpinBox , QStyleOptionSlider , QStyleOptionButton , QStyleOptionRubberBand , QStyleOptionHeader

    概要

    函数

    详细描述

    PySide.QtGui.QStyleOption class stores the parameters used by PySide.QtGui.QStyle 函数。

    PySide.QtGui.QStyleOption and its subclasses contain all the information that PySide.QtGui.QStyle functions 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 PySide.QtGui.QStyle function usually creates PySide.QtGui.QStyleOption objects on the stack. This combined with Qt's extensive use of 隐式共享 for types such as PySide.QtCore.QString , PySide.QtGui.QPalette ,和 PySide.QtGui.QColor ensures that no memory allocation needlessly takes place.

    The following code snippet shows how to use a specific PySide.QtGui.QStyleOption subclass 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 QStyle.CE_PushButton , and according to the QStyle.drawControl() documentation the corresponding class is PySide.QtGui.QStyleOptionButton .

    When reimplementing PySide.QtGui.QStyle functions that take a PySide.QtGui.QStyleOption parameter, you often need to cast the PySide.QtGui.QStyleOption to a subclass. For safety, you can use qstyleoption_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 which option points is not of the correct type.

    对于可以如何使用样式选项的演示范例,见 样式 范例。

    class PySide.QtGui. QStyleOption ( other )
    class PySide.QtGui. QStyleOption ( [ version=QStyleOption.Version [ , type=SO_Default ] ] )
    参数:

    构造副本为 other .

    构造 PySide.QtGui.QStyleOption with the specified version and type .

    The version has no special meaning for PySide.QtGui.QStyleOption ; it can be used by subclasses to distinguish between different version of the same option type.

    state 成员变量被初始化为 QStyle.State_None .

    另请参阅

    version type

    PySide.QtGui.QStyleOption. StyleOptionVersion

    This enum is used to hold information about the version of the style option, and is defined for each PySide.QtGui.QStyleOption 子类。

    常量 描述
    QStyleOption.Version 1

    The version is used by PySide.QtGui.QStyleOption subclasses to implement extensions without breaking compatibility. If you use qstyleoption_cast() , you normally do not need to check it.

    另请参阅

    QStyleOption.StyleOptionType

    PySide.QtGui.QStyleOption. StyleOptionType

    This enum is used to hold information about the type of the style option, and is defined for each PySide.QtGui.QStyleOption 子类。

    常量 描述
    QStyleOption.Type The type of style option provided ( SO_Default for this class).

    The type is used internally by PySide.QtGui.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 PySide.QtGui.QStyleOption subclass and your own styles.

    另请参阅

    QStyleOption.StyleOptionVersion

    PySide.QtGui.QStyleOption. OptionType

    此枚举被内部使用,通过 PySide.QtGui.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 PySide.QtGui.QStyleOption subclass and your own styles.

    常量 描述
    QStyleOption.SO_Button PySide.QtGui.QStyleOptionButton
    QStyleOption.SO_ComboBox PySide.QtGui.QStyleOptionComboBox
    QStyleOption.SO_Complex PySide.QtGui.QStyleOptionComplex
    QStyleOption.SO_Default PySide.QtGui.QStyleOption
    QStyleOption.SO_DockWidget PySide.QtGui.QStyleOptionDockWidget
    QStyleOption.SO_FocusRect PySide.QtGui.QStyleOptionFocusRect
    QStyleOption.SO_Frame PySide.QtGui.QStyleOptionFrame PySide.QtGui.QStyleOptionFrameV2
    QStyleOption.SO_GraphicsItem PySide.QtGui.QStyleOptionGraphicsItem
    QStyleOption.SO_GroupBox PySide.QtGui.QStyleOptionGroupBox
    QStyleOption.SO_Header PySide.QtGui.QStyleOptionHeader
    QStyleOption.SO_MenuItem PySide.QtGui.QStyleOptionMenuItem
    QStyleOption.SO_ProgressBar PySide.QtGui.QStyleOptionProgressBar PySide.QtGui.QStyleOptionProgressBarV2
    QStyleOption.SO_RubberBand PySide.QtGui.QStyleOptionRubberBand
    QStyleOption.SO_SizeGrip PySide.QtGui.QStyleOptionSizeGrip
    QStyleOption.SO_Slider PySide.QtGui.QStyleOptionSlider
    QStyleOption.SO_SpinBox PySide.QtGui.QStyleOptionSpinBox
    QStyleOption.SO_Tab PySide.QtGui.QStyleOptionTab
    QStyleOption.SO_TabBarBase PySide.QtGui.QStyleOptionTabBarBase
    QStyleOption.SO_TabWidgetFrame PySide.QtGui.QStyleOptionTabWidgetFrame
    QStyleOption.SO_TitleBar PySide.QtGui.QStyleOptionTitleBar
    QStyleOption.SO_ToolBar PySide.QtGui.QStyleOptionToolBar
    QStyleOption.SO_ToolBox PySide.QtGui.QStyleOptionToolBox
    QStyleOption.SO_ToolButton PySide.QtGui.QStyleOptionToolButton
    QStyleOption.SO_ViewItem PySide.QtGui.QStyleOptionViewItem (used in Interviews)

    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

    Some style options are defined for various Qt3Support controls:

    常量 描述
    QStyleOption.SO_Q3DockWindow QStyleOptionQ3DockWindow
    QStyleOption.SO_Q3ListView QStyleOptionQ3ListView
    QStyleOption.SO_Q3ListViewItem QStyleOptionQ3ListViewItem

    另请参阅

    type

    PySide.QtGui.QStyleOption. palette
    PySide.QtGui.QStyleOption. version
    PySide.QtGui.QStyleOption. direction
    PySide.QtGui.QStyleOption. rect
    PySide.QtGui.QStyleOption. type
    PySide.QtGui.QStyleOption. state
    PySide.QtGui.QStyleOption. fontMetrics
    PySide.QtGui.QStyleOption. initFrom ( w )
    参数: w PySide.QtGui.QWidget

    初始化 state , direction , rect , palette ,和 fontMetrics 成员变量基于指定的 widget .

    This is a convenience function; the member variables can also be initialized manually.