QComboBox类
QComboBox小部件结合了一个按钮和一个下拉列表。更多...
头文件 | #include <QComboBox> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake | QT += widgets |
继承 | QWidget |
继承者 |
公共类型
枚举 | InsertPolicy { NoInsert, InsertAtTop, InsertAtCurrent, InsertAtBottom, InsertAfterCurrent, …, InsertAlphabetically } |
枚举 | SizeAdjustPolicy { AdjustToContents, AdjustToContentsOnFirstShow, AdjustToMinimumContentsLengthWithIcon } |
属性
|
|
公共函数
QComboBox(QWidget *parent = nullptr) | |
virtual | ~QComboBox() |
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) |
QCompleter * | completer() const |
int | count() const |
QVariant | currentData(int role = Qt::UserRole) const |
int | currentIndex() const |
QString | currentText() const |
bool | duplicatesEnabled() const |
int | findData(const QVariant &data, int role = Qt::UserRole, Qt::MatchFlags flags = static_cast<Qt::MatchFlags>(Qt::MatchExactly|Qt::MatchCaseSensitive)) const |
int | findText(const QString &text, Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive) const |
bool | hasFrame() const |
virtual void | hidePopup() |
QSize | iconSize() const |
void | insertItem(int index, const QString &text, const QVariant &userData = QVariant()) |
void | insertItem(int index, const QIcon &icon, const QString &text, const QVariant &userData = QVariant()) |
void | insertItems(int index, const QStringList &list) |
QComboBox::InsertPolicy | insertPolicy() const |
void | insertSeparator(int index) |
bool | isEditable() const |
QVariant | itemData(int index, int role = Qt::UserRole) const |
QAbstractItemDelegate * | itemDelegate() const |
QIcon | itemIcon(int index) const |
QString | itemText(int index) const |
QLineEdit * | lineEdit() const |
int | maxCount() const |
int | maxVisibleItems() const |
int | minimumContentsLength() const |
QAbstractItemModel * | model() const |
int | modelColumn() const |
QString | placeholderText() const |
void | removeItem(int index) |
QModelIndex | rootModelIndex() const |
void | setCompleter(QCompleter *completer) |
void | setDuplicatesEnabled(bool enable) |
void | setEditable(bool editable) |
void | setFrame(bool) |
void | setIconSize(const QSize &size) |
void | setInsertPolicy(QComboBox::InsertPolicy policy) |
void | setItemData(int index, const QVariant &value, int role = Qt::UserRole) |
void | setItemDelegate(QAbstractItemDelegate *delegate) |
void | setItemIcon(int index, const QIcon &icon) |
void | setItemText(int index, const QString &text) |
void | setLineEdit(QLineEdit *edit) |
void | setMaxCount(int max) |
void | setMaxVisibleItems(int maxItems) |
void | setMinimumContentsLength(int characters) |
virtual void | setModel(QAbstractItemModel *model) |
void | setModelColumn(int visibleColumn) |
void | setPlaceholderText(const QString &placeholderText) |
void | setRootModelIndex(const QModelIndex &index) |
void | setSizeAdjustPolicy(QComboBox::SizeAdjustPolicy policy) |
void | setValidator(const QValidator *validator) |
void | setView(QAbstractItemView *itemView) |
virtual void | showPopup() |
QComboBox::SizeAdjustPolicy | sizeAdjustPolicy() const |
const QValidator * | validator() const |
QAbstractItemView * | 查看() const |
重实现公开函数
virtual bool | 事件(QEvent *event) override |
virtual QVariant | 输入法查询(Qt::InputMethodQuery 查询) const override |
virtual QSize | 最小大小提示() const override |
virtual QSize | 大小提示() const override |
公开槽函数
void | clear() |
void | clearEditText() |
void | setCurrentIndex(int index) |
void | setCurrentText(const QString &text) |
void | setEditText(const QString &text) |
信号
void | activated(int index) |
void | 当前索引改变(int index) |
void | 当前文本改变(const QString &text) |
void | 编辑文本改变(const QString &text) |
void | 高亮(int index) |
void | 文本激活(const QString &text) |
void | 文本高亮(const QString &text) |
受保护函数
virtual void | initStyleOption(QStyleOptionComboBox *option) const |
受保护函数重实现
virtual void | 改变事件(QEvent *e) override |
virtual void | 上下文菜单事件(QContextMenuEvent *e) override |
virtual void | 获得焦点事件(QFocusEvent *e) override |
virtual void | 失去焦点事件(QFocusEvent *e) override |
virtual void | 隐藏事件(QHideEvent *e) override |
virtual void | 输入法事件(QInputMethodEvent *e) override |
virtual void | 按键事件(QKeyEvent *e) override |
virtual void | 按键释放事件(QKeyEvent *e) override |
virtual void | 鼠标按键事件(QMouseEvent *e) override |
virtual void | 鼠标释放事件(QMouseEvent *e) override |
virtual void | 绘制事件(QPaintEvent *e) override |
virtual void | 调整大小事件(QResizeEvent *e) override |
virtual void | 显示事件(QShowEvent *e) override |
virtual void | 滚动事件(QWheelEvent *e) override |
详细描述
折叠QCombobox | 展开QCombobox |
显示特性
组合框以一种紧凑的方式向用户展示一系列选项。
组合框是一个选择小部件,显示当前选项,并在点击时弹出可选择的项列表。如果对insertItem()和setItemText()函数进行了合适的重载,组合框可以包含图片以及字符串。
编辑特性
组合框可能是可编辑的,允许用户修改列表中的每一项。对于可编辑的组合框,提供了clearEditText()函数,以清除显示的字符串,而不改变组合框的内容。
当用户在可编辑的 combobox 中输入新字符串时,小部件可能会或可能不会插入它,并且它可以将其插入几个位置。默认策略是 InsertAtBottom,但您可以使用 setInsertPolicy() 来更改此设置。
可以使用 QValidator 限制可编辑 combobox 的输入;请参阅 setValidator()。默认情况下,接受任何输入。
可以使用插入函数填充 combobox,例如 insertItem() 和 insertItems()。可以使用 setItemText() 更改项目。可以删除项目,使用 removeItem() 删除单个项目,并使用 clear() 删除所有项目。当前项目的文本通过 currentText() 返回,编号项目的文本通过 text() 返回。可以使用 setCurrentIndex() 设置当前项。combobox 中的项目数量通过 count() 返回;可设置的最大项目数量为 setMaxCount()。您可以使用 setEditable() 允许编辑。对于可编辑的 combobox,您可以使用 setCompleter() 设置自动完成,并使用 setDuplicatesEnabled() 设置用户是否可以添加重复项。
信号
当 combobox 的当前项目发生变化时,会发出三个信号:currentIndexChanged(),currentTextChanged() 和 activated()。无论变化是由程序执行还是用户交互引起的,currentIndexChanged() 和 currentTextChanged() 总是发出,而 activated() 仅在变化由用户交互引起时发出。当用户在 combobox 弹出列表中突出显示一个项时,会发出 highlighted() 信号。所有三个信号都有两种版本,一种带有 QString 参数,另一种带有 int
参数。如果用户选择或突出显示一个图元,则仅发出 int
信号。每次可编辑 combobox 的文本更改时,都会发出 editTextChanged() 信号。
模型/视图框架
QComboBox 使用 模型/视图框架 来管理其弹出列表并存储其项目。默认情况下,QStandardItemModel 存储项目,而 QListView 的子类显示弹出列表。您可以直接访问模型和视图(使用 model() 和 view()),但 QComboBox 还提供用于设置和获取项目数据的函数,例如 setItemData() 和 itemText()。您还可以设置新的模型和视图(使用 setModel() 和 setView())。对于 combobox 标签中的文本和图标,使用模型中具有 Qt::DisplayRole 和 Qt::DecorationRole 的数据。
注意:您不能修改SelectionMode的选择,例如,不能通过setSelectionMode。
另请参阅:QLineEdit、QSpinBox、QRadioButton和QButtonGroup。
成员类型文档
枚举 QComboBox::InsertPolicy
此枚举指定当用户输入新字符串时,QComboBox应做什么。
常量 | 值 | 描述 |
---|---|---|
QComboBox::NoInsert | 0 | 字符串不会被插入到组合框中。 |
QComboBox::InsertAtTop | 1 | 字符串将被插入为组合框的第一个条目。 |
QComboBox::InsertAtCurrent | 2 | 当前条目将被字符串替换。 |
QComboBox::InsertAtBottom | 3 | 字符串将被插入到组合框的最后一个条目之后。 |
QComboBox::InsertAfterCurrent | 4 | 字符串将在组合框的当前条目之后插入。 |
QComboBox::InsertBeforeCurrent | 5 | 字符串将插入到组合框的当前条目前面。 |
QComboBox::InsertAlphabetically | 6 | 字符串将在组合框中按字母顺序插入。 |
枚举 QComboBox::SizeAdjustPolicy
此枚举指定当添加新内容或内容更改时,QComboBox的大小提示如何调整。
常量 | 值 | 描述 |
---|---|---|
QComboBox::AdjustToContents | 0 | 组合框将始终调整到内容 |
QComboBox::AdjustToContentsOnFirstShow | 1 | 组合框在第一次显示时将调整到其内容。 |
QComboBox::AdjustToMinimumContentsLengthWithIcon | 2 | 组合框将调整到minimumContentsLength加上图标的空间。出于性能考虑,在大型模型上使用此策略。 |
属性文档
[只读]
count : const int
此属性包含组合框中条目的数量。
默认情况下,对于空组合框,此属性值为0。
访问函数
int | count() const |
[只读]
currentData : const QVariant
此属性包含当前条目的数据。
默认情况下,对于空组合框或未设置当前条目的组合框,此属性包含一个无效的QVariant。
访问函数
QVariant | currentData(int role = Qt::UserRole) const |
currentIndex : int
此属性包含组合框当前条目的索引。
当前索引可能在插入或删除条目时更改。
默认情况下,对于空组合框或未设置当前条目的组合框,此属性值为-1。
访问函数
int | currentIndex() const |
void | setCurrentIndex(int index) |
通知信号
void | currentIndexChanged(int index) |
currentText : QString
此属性包含当前文本
如果组合框可编辑,则当前文本是文本编辑框显示的值。否则,它是当前项的值,或者如果组合框为空或未设置当前项,则是空字符串。
setter setCurrentText()仅当组合框可编辑时调用 setEditText()。否则,如果列表中存在匹配的文本,currentIndex 将设置为相应的索引。
访问函数
QString | currentText() const |
void | setCurrentText(const QString &text) |
通知信号
void | currentTextChanged(const QString &text) |
另请参阅 editable 和 setEditText。
duplicatesEnabled : bool
该属性表示用户是否可以将重复项输入到组合框中。
请注意,始终可以通过编程方式将重复项插入组合框。
默认情况下,此属性为 false
(不允许重复)。
访问函数
bool | duplicatesEnabled() const |
void | setDuplicatesEnabled(bool enable) |
editable : bool
该属性表示组合框是否可以被用户编辑。
默认情况下,此属性为 false
。编辑的效果取决于插入策略。
注意:当禁用 editable 状态时,验证器和补全器将被移除。
访问函数
bool | isEditable() const |
void | setEditable(bool editable) |
另请参阅 InsertPolicy。
frame : bool
该属性表示组合框是否以框架形式绘制自身。
如果启用(默认值),组合框将在框架内部绘制自身,否则组合框将不带任何框架绘制自身。
访问函数
bool | hasFrame() const |
void | setFrame(bool) |
iconSize : QSize
该属性表示组合框中显示的图标大小。
除非显式设置,否则返回当前样式的默认值。此大小是图标可以有的最大大小;图标不会放大。
访问函数
QSize | iconSize() const |
void | setIconSize(const QSize &size) |
insertPolicy : InsertPolicy
该属性表示用于确定用户插入项应在组合框中哪个位置显示的策略。
默认值为 InsertAtBottom,表示新项将出现在项目列表的底部。
访问函数
QComboBox::InsertPolicy | insertPolicy() const |
void | setInsertPolicy(QComboBox::InsertPolicy policy) |
另请参阅 InsertPolicy。
maxCount : int
该属性表示组合框允许的最大项目数。
注意:如果您将最大数量设置为小于组合框中当前项目数量,则将截断额外项目。这也适用于您已在组合框上设置了外部模型的情况。
默认情况下,此属性的值是由可用的最高有符号整数派生的(通常是2147483647)。
访问函数
int | maxCount() const |
void | setMaxCount(int max) |
maxVisibleItems : int
此属性保留组合框在屏幕上允许的最大大小,以项目计。
默认情况下,此属性的值为10。
注意: 对于非可编辑的组合框,当样式返回真时(如Mac样式或Gtk+样式),将忽略此属性QStyle::SH_ComboBox_Popup。
访问函数
int | maxVisibleItems() const |
void | setMaxVisibleItems(int maxItems) |
minimumContentsLength : int
此属性保留了组合框中应适合的最小字符数。
默认值为0。
如果将此属性设置为正值,则minimumSizeHint()和sizeHint()将考虑它。
访问函数
int | minimumContentsLength() const |
void | setMinimumContentsLength(int characters) |
另请参阅 sizeAdjustPolicy.
modelColumn : int
此属性持有一个在模型中可见的列。
在填充组合框之前设置时,下拉视图将不会受到影响,并显示第一列(使用此属性的默认值)。
默认情况下,此属性值为0。
注意: 在可编辑的组合框中,可见列也将成为completion column。
访问函数
int | modelColumn() const |
void | setModelColumn(int visibleColumn) |
placeholderText : QString
当没有设置有效的索引时,设置此文本为placeholderText文本。
当设置无效的索引时,将显示placeholderText。文本不适用于下拉列表。当在添加项目之前调用此函数时,将显示占位文本。如果您希望显示占位文本,则需要程序化调用setCurrentIndex(-1)。设置空的占位文本以重置设置。
当QComboBox是可编辑的,请使用QLineEdit::setPlaceholderText
访问函数
QString | placeholderText() const |
void | setPlaceholderText(const QString &placeholderText) |
sizeAdjustPolicy : SizeAdjustPolicy
此属性保留描述在内容更改时组合框大小如何更改的策略。
默认值为AdjustToContentsOnFirstShow。
访问函数
QComboBox::SizeAdjustPolicy | sizeAdjustPolicy() const |
void | setSizeAdjustPolicy(QComboBox::SizeAdjustPolicy policy) |
另请参阅 SizeAdjustPolicy.
成员函数文档
[显式]
QComboBox::QComboBox(QWidget *parent = nullptr)
使用默认模型QStandardItemModel和给定的parent构建组合框。
[virtual noexcept]
QComboBox::~QComboBox()
销毁组合框。
[signal]
void QComboBox::activated(int index)
当用户在组合框中选择一个项目时,会发送此信号。传递项目的 index。注意,即使选择没有改变,也会发送该信号。如果您需要知道选择实际上何时改变,请使用信号 currentIndexChanged() 或 currentTextChanged()。
void QComboBox::addItem(const QString &text, const QVariant &userData = QVariant())
向组合框添加给定 text 的项目,并包含指定的 userData(存储在 Qt::UserRole)。该条目被追加到现有条目列表中。
void QComboBox::addItem(const QIcon &icon, const QString &text, const QVariant &userData = QVariant())
向组合框添加带有给定 icon 和 text 的项目,并包含指定的 userData(存储在 Qt::UserRole)。该条目被追加到现有条目列表中。
void QComboBox::addItems(const QStringList &texts)
将给定 texts 中的每个字符串添加到组合框中。每个项目依次追加到现有项目列表中。
[override virtual protected]
void QComboBox::changeEvent(QEvent *e)
重新实现了: QWidget::changeEvent(QEvent *event)。
[slot]
void QComboBox::clear()
清除组合框,移除所有条目。
注意:如果您已在组合框上设置了外部模型,则在调用此函数时此模型仍然会被清除。
[slot]
void QComboBox::clearEditText()
清除用于组合框编辑的行编辑内容。
QCompleter *QComboBox::completer() const
返回用于为组合框自动完成文本输入的补全器。
另请参阅 setCompleter() 和 editable。
[override virtual protected]
void QComboBox::contextMenuEvent(QContextMenuEvent *e)
重新实现了: QWidget::contextMenuEvent(QContextMenuEvent *event)。
[信号]
void QComboBox::currentIndexChanged(int index)
每当组合框中的currentIndex由于用户交互或其他程序操作而更改时,都会发送此信号。传递项目的index,如果组合框变为空或currentIndex已重置,则为-1。
注意:属性currentIndex的通知信号。
[信号]
void QComboBox::currentTextChanged(const QString &text)
当currentText改变时,会发出此信号。新值作为text传递。
注意:如果currentIndex更改,则即使currentText保持不变,也不会发出此信号。
注意:属性currentText的通知信号。
[信号]
void QComboBox::editTextChanged(const QString &text)
当组合框的行编辑小部件中的文本改变时,会发出此信号。新文本由text指定。
[重写虚函数]
bool QComboBox::event(QEvent *event)
重新实现:QWidget::event(QEvent *event).
int QComboBox::findData(const QVariant &data, int role = Qt::UserRole, Qt::MatchFlags flags = static_cast<Qt::MatchFlags>(Qt::MatchExactly|Qt::MatchCaseSensitive)) const
返回包含给定data的项的索引;否则返回-1。
flags指定如何在组合框中搜索项。
int QComboBox::findText(const QString &text, Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive) const
返回包含给定text的项的索引;否则返回-1。
flags指定如何在组合框中搜索项。
[重写虚保护函数]
void QComboBox::focusInEvent(QFocusEvent *e)
重新实现:QWidget::focusInEvent(QFocusEvent *event).
[重写虚保护函数]
void QComboBox::focusOutEvent(QFocusEvent *e)
重新实现:QWidget::focusOutEvent(QFocusEvent *event).
[重写虚保护函数]
void QComboBox::hideEvent(QHideEvent *e)
重新实现:QWidget::hideEvent(QHideEvent *event).
[虚拟]
void QComboBox::hidePopup()
如果组合框中的列表当前可见,则隐藏列表并重置内部状态。如果自定义弹出窗口在重写的 showPopup() 内显示,那么您还需要重写 hidePopup() 函数来隐藏自定义弹出窗口,并调用基类实现来重置内部状态,每当自定义弹出窗口控件被隐藏时。
另请参阅showPopup。
[信号]
void QComboBox::highlighted(int index)
当用户突出显示组合框弹出列表中的项目时,会发出此信号。传递项目的 index。
[虚拟受保护]
void QComboBox::initStyleOption(QStyleOptionComboBox *option) const
使用此 QComboBox 的值初始化 option。当子类需要 QStyleOptionComboBox,但不想自己填写所有信息时,此方法很有用。
[重写虚拟受保护]
void QComboBox::inputMethodEvent(QInputMethodEvent *e)
重新实现:QWidget::inputMethodEvent(QInputMethodEvent *event)
[重写虚拟]
QVariant QComboBox::inputMethodQuery(Qt::InputMethodQuery query) const
重新实现:QWidget::inputMethodQuery(Qt::InputMethodQuery query) const。
void QComboBox::insertItem(int index, const QString &text, const QVariant &userData = QVariant())
将 text 和 userData(存储在 Qt::UserRole)插入到给定 index 处的组合框中。
如果索引等于或大于项目总数,新项目将被附加到现有项目列表中。如果索引为零或负数,新项目将追加到现有项目列表的开头。
另请参阅insertItems。
void QComboBox::insertItem(int index, const QIcon &icon, const QString &text, const QVariant &userData = QVariant())
将 icon、text 和 userData(存储在 Qt::UserRole)插入到给定 index 处的组合框中。
如果索引等于或大于项目总数,新项目将被附加到现有项目列表中。如果索引为零或负数,新项目将追加到现有项目列表的开头。
另请参阅insertItems。
void QComboBox::insertItems(int index, const QStringList &list)
将列表中的字符串分别插入到组合框中,从指定的 index 开始。
如果索引等于或高于项目总数,则新项目将附加到现有项目列表中。如果索引为零或负数,则新项目将添加到现有项目列表的开头。
另请参阅 insertItem()。
void QComboBox::insertSeparator(int index)
在给定 index 处将分隔符项目插入组合框中。
如果索引等于或大于项目总数,新项目将被附加到现有项目列表中。如果索引为零或负数,新项目将追加到现有项目列表的开头。
另请参阅 insertItem()。
QVariant QComboBox::itemData(int index, int role = Qt::UserRole) const
返回组合框给定 index 下对应 role 的数据,如果没有该角色的数据,则返回无效的 QVariant。
另请参阅 setItemData()。
QAbstractItemDelegate *QComboBox::itemDelegate() const
返回组合框使用的弹出列表视图的项委托。
另请参阅 setItemDelegate()。
QIcon QComboBox::itemIcon(int index) const
返回组合框给定 index 项目的图标。
另请参阅 setItemIcon()。
QString QComboBox::itemText(int index) const
返回组合框给定 index 项目的文本。
另请参阅 setItemText()。
[override virtual protected]
void QComboBox::keyPressEvent(QKeyEvent *e)
重新实现: QWidget::keyPressEvent(QKeyEvent *event)。
[override virtual protected]
void QComboBox::keyReleaseEvent(QKeyEvent *e)
重新实现: QWidget::keyReleaseEvent(QKeyEvent *event)。
QLineEdit *QComboBox::lineEdit() const
返回用于编辑组合框中项目的行编辑,如果没有行编辑,则返回 nullptr
。
只有可编辑的组合框才有行编辑。
另请参阅 setLineEdit()。
[override virtual]
QSize QComboBox::minimumSizeHint() const
重新实现了属性访问函数: QWidget::minimumSizeHint。
QAbstractItemModel *QComboBox::model() const
返回组合框使用的模型。
另请参阅 setModel()。
[override virtual protected]
void QComboBox::mousePressEvent(QMouseEvent *e)
重新实现: QWidget::mousePressEvent(QMouseEvent *event).
[覆盖 虚拟 保护]
void QComboBox::mouseReleaseEvent(QMouseEvent *e)
重新实现: QWidget::mouseReleaseEvent(QMouseEvent *event).
[覆盖 虚拟 保护]
void QComboBox::paintEvent(QPaintEvent *e)
重新实现: QWidget::paintEvent(QPaintEvent *event).
void QComboBox::removeItem(int index)
从组合框中移除指定 index 的项。如果移除该项,则更新当前索引。
如果 index 超出范围,此函数不执行任何操作。
[覆盖 虚拟 保护]
void QComboBox::resizeEvent(QResizeEvent *e)
重新实现: QWidget::resizeEvent(QResizeEvent *event).
QModelIndex QComboBox::rootModelIndex() const
返回组合框中项的根模型项索引。
另请参阅setRootModelIndex()。
void QComboBox::setCompleter(QCompleter *completer)
将 completer 设为使用,而不是当前的 completer。如果 completer 为 nullptr
,则禁用自动完成。
默认情况下,对于可编辑组合框,会自动创建一个执行不区分大小写行内完成的 QCompleter。
注意:当 editable 属性变为 false
时,或当行编辑被 setLineEdit() 调换时,completer 将被移除。在不可编辑的 QComboBox 上设置 completer 将被忽略。
另请参阅completer。
[槽]
void QComboBox::setEditText(const QString &text)
将组合框文本编辑的 text 设置。
void QComboBox::setItemData(int index, const QVariant &value, int role = Qt::UserRole)
将组合框中给定 index 的项的 role 数据设置为指定 value。
另请参阅itemData。
void QComboBox::setItemDelegate(QAbstractItemDelegate *delegate)
为弹出列表视图设置项 delegate。组合框将拥有此 delegate。
任何现有的 delegate 都将移除,但不会删除。 QComboBox 不会拥有 delegate。
警告:您不应该在组合框、小部件映射或视图中共享相同的委托实例。这样做可能会导致编辑行为不正确或不符合直观,因为每个连接到给定委托的视图都可能接收 closeEditor() 信号,并尝试访问、修改或关闭已关闭的编辑器。
另请参阅itemDelegate。
void QComboBox::setItemIcon(int index, const QIcon &icon)
设置组合框中给定 index 的项的 icon。
另请参阅itemIcon。
void QComboBox::setItemText(int index, const QString &text)
设置组合框中给定 index 的项的 text。
另请参阅itemText。
void QComboBox::setLineEdit(QLineEdit *edit)
设置要使用的行 edit 而不是当前的行编辑小部件。
组合框将拥有行编辑的版权。
注意:由于组合框的行编辑拥有 QCompleter,对 setCompleter() 的任何先前调用将不再有任何效果。
另请参阅lineEdit。
[虚函数]
void QComboBox::setModel(QAbstractItemModel *model)
设置要设置的模型 model。 model 不能是 nullptr
。如果您想清除模型的内容,请调用 clear()。
注意:如果组合框是可编辑的,则 model 也将设置在行编辑的补全器上。
另请参阅model、clear 和 setCompleter。
void QComboBox::setRootModelIndex(const QModelIndex &index)
设置组合框中项的根模型项 index。
另请参阅rootModelIndex。
void QComboBox::setValidator(const QValidator *validator)
设置要使用的 validator 而不是当前的验证器。
注意:当 editable 属性变为 false
时,验证器将被移除。
另请参阅validator。
void QComboBox::setView(QAbstractItemView *itemView)
将用于组合框弹出窗口的视图设置为给定的 itemView。组合框将拥有视图的版权。
注意:如果您想使用便捷视图(如QListWidget、QTableWidget或QTreeWidget),在使用本函数之前,请确保调用带有便捷视图模型的setModel()。
另请参阅 view。
[重写虚保护]
void QComboBox::showEvent(QShowEvent *e)
重实现: QWidget::showEvent(QShowEvent *event).
[虚函数]
void QComboBox::showPopup()
显示组合框中的项目列表。如果列表为空,则不显示任何项目。
如果您重写此函数以显示自定义弹出窗口,请确保调用hidePopup()以重置内部状态。
另请参阅 hidePopup。
[重写虚函数]
QSize QComboBox::sizeHint() const
重实现属性的访问函数: QWidget::sizeHint。
此实现将大小提示缓存起来,以避免内容动态变化时的调整大小。要使缓存值无效,请更改sizeAdjustPolicy。
[信号]
void QComboBox::textActivated(const QString &text)
当用户在组合框中选择一个项目时发送此信号。将项目的text传递。请注意,即使在选择没有变化的情况下,此信号也会发送。如果您需要知道选择是否实际更改,请使用信号currentIndexChanged或currentTextChanged。
[信号]
void QComboBox::textHighlighted(const QString &text)
当用户突出显示组合框弹出列表中的一个项目时发送此信号。传递项目的text。
const QValidator *QComboBox::validator() const
返回用于限制组合框文本输入的验证器。
另请参阅 setValidator和editable。
QAbstractItemView *QComboBox::view() const
返回用于组合框弹出窗口的列表视图。
另请参阅 setView。
[重写虚保护]
void QComboBox::wheelEvent(QWheelEvent *e)
重实现: QWidget::wheelEvent(QWheelEvent *event).
© 2024 Qt公司有限公司。本文件中包含的文档贡献均为其各自所有者的版权。提供的文档是根据自由软件基金会发布的《GNU自由文档许可证》第1.3版许可的。