QStyle Combo Box 样式设计(十四)
QComboBox使用CC_ComboBox和CE_ComboBoxLabel样式来绘制带有不可编辑框的按钮和标签。
用户单击组合框时弹出的列表是由委托绘制的,在本概述中不介绍。 但是,您可以使用样式通过子元素SC_ComboBoxListBoxPopup控制列表的大小和位置。
该样式还决定了可编辑框的编辑字段应在何处使用SC_ComboBoxEditField。 该字段本身是QLineEdit,它是组合框的子级。
我们在Java样式组合框上显示图像,在其中概述了其子元素和子元素矩形:
Java组合框不使用focus rect; 聚焦时会更改其背景颜色。 QComboBox使用SC_ComboBoxEdit字段来计算编辑字段的大小以及用于计算组合框标签大小的样式。
组合框的样式选项是QStyleOptionComboBox。 它可以设置以下状态:
State | Set When |
---|---|
State_Selected | 该框不可编辑且具有焦点 |
State_Sunken | SC_ComboBoxArrow处于活动状态 |
State_on | 框的容器(列表)可见 |
其他成员的样式选项是:
Member | Content |
---|---|
currentIcon | 组合框当前(选定)项目的图标。 |
currentText | 框中当前项目的文本。 |
editable | 保持组合框是否可编辑 |
frame | 保持组合框是否有框架 |
iconSize | 当前项目图标的大小。 |
popupRect | 组合框的弹出列表的边界矩形。 |