QStyleOptionMenuItem Class

QStyleOptionMenuItem 类用于描述绘制菜单项所需的参数。更多

Header: #include <QStyleOptionMenuItem>
CMake.QStyleOptionMenuItem 类 find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
继承: QStyleOption

公共类型

enum CheckType { NotCheckable, Exclusive, NonExclusive }
enum MenuItemType { Normal, DefaultItem, Separator, SubMenu, Scroller, …, EmptyArea }
enum StyleOptionType { Type }
enum StyleOptionVersion { Version }

公共函数

QStyleOptionMenuItem()
QStyleOptionMenuItem(const QStyleOptionMenuItem &other)

公共变量

QStyleOptionMenuItem::CheckType checkType
bool checked
QFont font
QIcon icon
int maxIconWidth
bool menuHasCheckableItems
QStyleOptionMenuItem::MenuItemType menuItemType
QRect menuRect
int reservedShortcutWidth
QString text

详细说明

QStyleOptionMenuItem 包含QStyle 函数从QMenu 中绘制菜单项所需的所有信息。它还用于绘制其他与菜单相关的部件。

出于性能考虑,成员函数很少,对成员变量的访问是直接的(即使用.-> 操作符)。这使得这些结构使用起来非常简单,并强调这些结构只是样式函数使用的参数。

另请参见 QStyleOption

成员类型文档

enum QStyleOptionMenuItem::CheckType

该枚举用于指示是否应为项目画复选标记,甚至是否应画复选标记。

常量说明
QStyleOptionMenuItem::NotCheckable0项目不可选中。
QStyleOptionMenuItem::Exclusive1该项目是一个排他性复选项目(如单选按钮)。
QStyleOptionMenuItem::NonExclusive2该项目为非排他性复选项目(如复选框)。

另请参阅 checkType,QAction::checkable,QAction::checked, 和QActionGroup::exclusionPolicy

该枚举表示结构描述的菜单项类型。

常量描述
QStyleOptionMenuItem::Normal0普通菜单项。
QStyleOptionMenuItem::DefaultItem1使用QMenu::defaultAction() 指定的默认操作的菜单项。
QStyleOptionMenuItem::Separator2菜单分隔符。
QStyleOptionMenuItem::SubMenu3表示菜单项指向子菜单。
QStyleOptionMenuItem::Scroller4弹出式菜单滚动条(目前仅用于 macOS)。
QStyleOptionMenuItem::TearOff5菜单的拆分柄。
QStyleOptionMenuItem::Margin6菜单的边距
QStyleOptionMenuItem::EmptyArea7菜单的空白区域。

另请参阅 menuItemType

enum QStyleOptionMenuItem::StyleOptionType

该枚举用于保存有关样式选项类型的信息,并为每个QStyleOption 子类定义。

常量描述
QStyleOptionMenuItem::TypeSO_MenuItem提供的样式选项的类型(SO_MenuItem 适用于该类)。

QStyleOption 及其子类和qstyleoption_cast() 内部使用该类型来确定样式选项的类型。一般来说,除非您想创建自己的QStyleOption 子类和自己的样式,否则不需要担心这个问题。

另请参见 StyleOptionVersion

enum QStyleOptionMenuItem::StyleOptionVersion

该枚举用于保存有关样式选项版本的信息,并为每个QStyleOption 子类定义。

常量说明
QStyleOptionMenuItem::Version11

版本用于QStyleOption 子类在不破坏兼容性的情况下实现扩展。如果使用qstyleoption_cast() ,通常不需要检查它。

另请参阅 StyleOptionType

成员函数文档

QStyleOptionMenuItem::QStyleOptionMenuItem()

构造一个 QStyleOptionMenuItem,将成员变量初始化为默认值。

QStyleOptionMenuItem::QStyleOptionMenuItem(const QStyleOptionMenuItem &other)

构建other 样式选项的副本。

成员变量文档

QStyleOptionMenuItem::CheckType QStyleOptionMenuItem::checkType

该变量用于保存菜单项的复选标记类型

默认值为NotCheckable

另请参阅 CheckType

bool QStyleOptionMenuItem::checked

该变量表示菜单项是否被选中。

默认值为 false。

QFont QStyleOptionMenuItem::font

该变量用于保存菜单项文本的字体

这是绘制菜单文本时应使用的字体。快捷方式通常使用绘制者的字体绘制。默认情况下,使用应用程序的默认字体。

QIcon QStyleOptionMenuItem::icon

该变量用于保存菜单项的图标

默认值为空图标,即既没有像素图也没有文件名的图标。

int QStyleOptionMenuItem::maxIconWidth

该变量用于保存菜单项中图标的最大宽度。

这可用于将图标绘制到正确位置或正确对齐项目。无论菜单项是否有图标,都必须设置该变量。默认值为 0。

该变量表示整个菜单是否有可选中的项目。

默认值为 "true"。

如果该选项设置为 false,则菜单中没有可选中的项目。这样,GUI 风格就可以节省一些通常用于复选栏的水平空间。

该变量表示菜单项的类型

默认值为Normal

另请参阅 MenuItemType

该变量用于保存整个菜单的矩形

默认值为空矩形,即宽度和高度均设置为 0 的矩形。

int QStyleOptionMenuItem::reservedShortcutWidth

该变量用于保存菜单项快捷方式的预留宽度

QMenu 将其设置为菜单内所有可见项目中最宽的快捷方式所占用的宽度。

默认值为 0。

QString QStyleOptionMenuItem::text

该变量保存菜单项的文本

请注意,文本格式类似于 "Menu text\tShortcut" (菜单文本/快捷方式)。

如果菜单项没有快捷方式,它将只包含菜单项的文本。默认值为空字符串。

© 2025 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.