输入部件
下拉列表控件QComboBox 类
QComboBox 类是 QWidget 类的直接子类,该类实现了一个下拉列表(组合框)。
QComboBox 类中的属性函数
1)count:const int
访问函数:int count() const;
获取组合框中的项目数量,默认情况下,对于空组合框或未设置当前项目的组合框,其值为 0。
2)maxCount:int
访问函数:int maxCount() const; void setMaxCount(int);
此属性描述组合框允许的最大项数,若设置的最大数小于组合框中当前的项目数量,则额外的项目会被截断。默认值为可使用的最高带符号整数(通常为 2147483647)。
3)maxVisibleItems:int
访问函数:int maxVisibleItems() const; void setMaxVisibleItems(int);
此属性描述组合框在屏幕上向用户显示的项目数量(即可见项目数)。默认为 10。注意:该属性在某些样式上可能会被忽略。
4)minimumContentsLength:int
访问函数:int minimumContentsLength() const; void setMinimumContentsLength(int);
此属性描述,组合框项目的最少字符数量(见下图),若此属性为正值,则minimumSizeHint()和 sizeHint()会被考虑在内,默认为 0。
5)sizeAdjustPolicy:SizeAdjustPolicy
访问函数:SizeAdjustPolicy sizeAdjustPolicy() const; void setSizeAdjustPolicy(SizeAdjustPolicy);
- 此属性描述,当组合框的内容更改时,其组合框的大小如何更改。默认值为AdjustToContentsOnFirstShow。注意,当 editable 被启用时,此属性需位于 editable属性之前,否则该属性可能不起作用。
- SizeAdjustPolicy 是 QComboBox 类中的枚举,用于描述组合框的大小更改策略,其成员如下:
6)insertPolicy:InsertPolicy
访问函数:InsertPolicy insertPolicy() const; void setInsertPolicy(InsertPolicy);
此属性描述插入新项目时应该出现在组合框中的位置,默认是 InsertAtBottom(新项目插入到底部),其中 InsertPolicy 是 QComboBox 类中的枚举,该枚举用于描述插入项目的位置,其成员见下表。
7)editable:bool
访问函数:bool isEditable() const; void setEditable(bool);
此属性描述,组合框是否可由用户编辑,默认为 fasle。
注意:当禁用该属性时,将删除 validator 和 completer。
8)duplicatesEnabled:bool
访问函数:bool duplicatesEnabled() const; void setDuplicatesEnabled(bool);
此属性描述,用户是否可把重复项目输入到组合框中,注意:以编程的方式总是可以插入重复项目到组合框中。默认为 false(不允许重复)
9)currentData:const QVariant //qt5.2
访问函数:QVariant currentData(int role = Qt::UserRole) const;
保存当前项目的数据,对于空组合框或未设置当前项目的组合框,默认情况下,此属性为无效的 QVariant。
10)currentIndex:int
访问函数:int currentIndex() const; void setCurrentIndex(int);
信号:currentIndexChanged(int); void currentIndexChanged(const QString&);
此属性描述组合框当前项目的索引(从 0 开始),插入或删除时,索引可能会改变,对于空组合框或未设置当前项目的组合框,默认情况下,此属性的值为−1。
11)currentText:QString
访问函数:QString currentText() const; void setCurrentText(const QString&);
信号:void currentTextChanged(const QString&);
- 此属性描述当前的文本,注意:设置函数 setCurrentText()并不能把新文本添加到组合框中,该函数仅能使组合框显示该文本。
- 此属性的 setTextCurrentText()仅在组合框可编辑时才会起作用。
- 若组合框是可编辑的,则 currentText 是编辑时显示的文本,
- 若组合框为空或未设置当前项目的组合框,则为当前项目的值或空字符串。
- 若组合框是可编辑的,则设置函数 setCurrentText()只需调用 setEditText()函数。
12)iconSize:QSize
访问函数:QSize iconSize() const; void setIconSize(const QSize&);
此属性描述组合框中显示的图标的大小。默认值是图标可以拥有的最大大小,较小尺寸的图标不会被放大。
13)frame:bool
访问函数:bool hasFrame() const; void setFrame(bool);
此属性描述组合框是否绘制默认的边框,默认为 true(启用)
14)modelColumn:int
访问函数:int modelColumn() const; void setModelColumn(int);
此属性描述,模型中可见的列,若此属性设置于填充组合框的内容之前,则弹出的视图不会受到影响,并且会显示第 1 列(默认值)。默认为 0。
QComboBox 类中的常用函数
1)QComboBox(QWidget* parent = Q_NULLPTR); //构造函数
2)void addItem(const QString &text, const QVariant& userData = QVariant());
void addItem(const QIcon &icon , const QString &text, const QVariant& userData = QVariant());
void addItems(const QStringList &texts); //注意,该函数后面的字母 s
以上函数用于向组合框中添加内容,其中 userData(暂时不需要理解此参数)存储于Qt::UserRole 中。
3)void setItemText(int index, const QString &text);
QString itemText(int index) const;
以上函数分别表示,把索引为 index 处的项目设置为 text (可用于修改项目),和获取索引为 index 处的文本。索引是从 0 开始的。
4)void setItemIcon(int index, const QIcon &icon);
QIcon itemIcon(int index) const;
以上函数分别表示,把索引为 index 处的项目的图标设置为 icon,和获取索引为 index处的图标。索引是从 0 开始的。
5)void insertIt