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::NotCheckable | 0 | 项目不可选中。 |
QStyleOptionMenuItem::Exclusive | 1 | 该项目是一个排他性复选项目(如单选按钮)。 |
QStyleOptionMenuItem::NonExclusive | 2 | 该项目为非排他性复选项目(如复选框)。 |
另请参阅 checkType,QAction::checkable,QAction::checked, 和QActionGroup::exclusionPolicy 。
enum QStyleOptionMenuItem::MenuItemType
该枚举表示结构描述的菜单项类型。
常量 | 值 | 描述 |
---|---|---|
QStyleOptionMenuItem::Normal | 0 | 普通菜单项。 |
QStyleOptionMenuItem::DefaultItem | 1 | 使用QMenu::defaultAction() 指定的默认操作的菜单项。 |
QStyleOptionMenuItem::Separator | 2 | 菜单分隔符。 |
QStyleOptionMenuItem::SubMenu | 3 | 表示菜单项指向子菜单。 |
QStyleOptionMenuItem::Scroller | 4 | 弹出式菜单滚动条(目前仅用于 macOS)。 |
QStyleOptionMenuItem::TearOff | 5 | 菜单的拆分柄。 |
QStyleOptionMenuItem::Margin | 6 | 菜单的边距 |
QStyleOptionMenuItem::EmptyArea | 7 | 菜单的空白区域。 |
另请参阅 menuItemType 。
enum QStyleOptionMenuItem::StyleOptionType
该枚举用于保存有关样式选项类型的信息,并为每个QStyleOption 子类定义。
常量 | 值 | 描述 |
---|---|---|
QStyleOptionMenuItem::Type | SO_MenuItem | 提供的样式选项的类型(SO_MenuItem 适用于该类)。 |
QStyleOption 及其子类和qstyleoption_cast() 内部使用该类型来确定样式选项的类型。一般来说,除非您想创建自己的QStyleOption 子类和自己的样式,否则不需要担心这个问题。
另请参见 StyleOptionVersion 。
enum QStyleOptionMenuItem::StyleOptionVersion
该枚举用于保存有关样式选项版本的信息,并为每个QStyleOption 子类定义。
常量 | 值 | 说明 |
---|---|---|
QStyleOptionMenuItem::Version | 1 | 1 |
版本用于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。
bool QStyleOptionMenuItem::menuHasCheckableItems
该变量表示整个菜单是否有可选中的项目。
默认值为 "true"。
如果该选项设置为 false,则菜单中没有可选中的项目。这样,GUI 风格就可以节省一些通常用于复选栏的水平空间。
QStyleOptionMenuItem::MenuItemType QStyleOptionMenuItem::menuItemType
该变量表示菜单项的类型
默认值为Normal 。
另请参阅 MenuItemType 。
QRect QStyleOptionMenuItem::menuRect
该变量用于保存整个菜单的矩形
默认值为空矩形,即宽度和高度均设置为 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.