QComboBox类

QComboBox小部件结合了一个按钮和一个下拉列表。更多...

头文件 #include <QComboBox>
CMakefind_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmakeQT += widgets
继承 QWidget
继承者

QFontComboBox

公共类型

枚举InsertPolicy { NoInsert, InsertAtTop, InsertAtCurrent, InsertAtBottom, InsertAfterCurrent, …, InsertAlphabetically }
枚举SizeAdjustPolicy { AdjustToContents, AdjustToContentsOnFirstShow, AdjustToMinimumContentsLengthWithIcon }

属性

公共函数

QComboBox(QWidget *parent = nullptr)
virtual~QComboBox()
voidaddItem(const QString &text, const QVariant &userData = QVariant())
voidaddItem(const QIcon &icon, const QString &text, const QVariant &userData = QVariant())
voidaddItems(const QStringList &texts)
QCompleter *completer() const
intcount() const
QVariantcurrentData(int role = Qt::UserRole) const
intcurrentIndex() const
QStringcurrentText() const
boolduplicatesEnabled() const
intfindData(const QVariant &data, int role = Qt::UserRole, Qt::MatchFlags flags = static_cast<Qt::MatchFlags>(Qt::MatchExactly|Qt::MatchCaseSensitive)) const
intfindText(const QString &text, Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive) const
boolhasFrame() const
virtual voidhidePopup()
QSizeiconSize() const
voidinsertItem(int index, const QString &text, const QVariant &userData = QVariant())
voidinsertItem(int index, const QIcon &icon, const QString &text, const QVariant &userData = QVariant())
voidinsertItems(int index, const QStringList &list)
QComboBox::InsertPolicyinsertPolicy() const
voidinsertSeparator(int index)
boolisEditable() const
QVariantitemData(int index, int role = Qt::UserRole) const
QAbstractItemDelegate *itemDelegate() const
QIconitemIcon(int index) const
QStringitemText(int index) const
QLineEdit *lineEdit() const
intmaxCount() const
intmaxVisibleItems() const
intminimumContentsLength() const
QAbstractItemModel *model() const
intmodelColumn() const
QStringplaceholderText() const
voidremoveItem(int index)
QModelIndexrootModelIndex() const
voidsetCompleter(QCompleter *completer)
voidsetDuplicatesEnabled(bool enable)
voidsetEditable(bool editable)
voidsetFrame(bool)
voidsetIconSize(const QSize &size)
voidsetInsertPolicy(QComboBox::InsertPolicy policy)
voidsetItemData(int index, const QVariant &value, int role = Qt::UserRole)
voidsetItemDelegate(QAbstractItemDelegate *delegate)
voidsetItemIcon(int index, const QIcon &icon)
voidsetItemText(int index, const QString &text)
voidsetLineEdit(QLineEdit *edit)
voidsetMaxCount(int max)
voidsetMaxVisibleItems(int maxItems)
voidsetMinimumContentsLength(int characters)
virtual voidsetModel(QAbstractItemModel *model)
voidsetModelColumn(int visibleColumn)
voidsetPlaceholderText(const QString &placeholderText)
voidsetRootModelIndex(const QModelIndex &index)
voidsetSizeAdjustPolicy(QComboBox::SizeAdjustPolicy policy)
voidsetValidator(const QValidator *validator)
voidsetView(QAbstractItemView *itemView)
virtual voidshowPopup()
QComboBox::SizeAdjustPolicysizeAdjustPolicy() 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

公开槽函数

voidclear()
voidclearEditText()
voidsetCurrentIndex(int index)
voidsetCurrentText(const QString &text)
voidsetEditText(const QString &text)

信号

voidactivated(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 voidinitStyleOption(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::DisplayRoleQt::DecorationRole 的数据。

注意:您不能修改SelectionMode的选择,例如,不能通过setSelectionMode

另请参阅:QLineEditQSpinBoxQRadioButtonQButtonGroup

成员类型文档

枚举 QComboBox::InsertPolicy

此枚举指定当用户输入新字符串时,QComboBox应做什么。

常量描述
QComboBox::NoInsert0字符串不会被插入到组合框中。
QComboBox::InsertAtTop1字符串将被插入为组合框的第一个条目。
QComboBox::InsertAtCurrent2当前条目将被字符串替换。
QComboBox::InsertAtBottom3字符串将被插入到组合框的最后一个条目之后。
QComboBox::InsertAfterCurrent4字符串将在组合框的当前条目之后插入。
QComboBox::InsertBeforeCurrent5字符串将插入到组合框的当前条目前面。
QComboBox::InsertAlphabetically6字符串将在组合框中按字母顺序插入。

枚举 QComboBox::SizeAdjustPolicy

此枚举指定当添加新内容或内容更改时,QComboBox的大小提示如何调整。

常量描述
QComboBox::AdjustToContents0组合框将始终调整到内容
QComboBox::AdjustToContentsOnFirstShow1组合框在第一次显示时将调整到其内容。
QComboBox::AdjustToMinimumContentsLengthWithIcon2组合框将调整到minimumContentsLength加上图标的空间。出于性能考虑,在大型模型上使用此策略。

属性文档

[只读] count : const int

此属性包含组合框中条目的数量。

默认情况下,对于空组合框,此属性值为0。

访问函数

intcount() const

[只读] currentData : const QVariant

此属性包含当前条目的数据。

默认情况下,对于空组合框或未设置当前条目的组合框,此属性包含一个无效的QVariant

访问函数

QVariantcurrentData(int role = Qt::UserRole) const

currentIndex : int

此属性包含组合框当前条目的索引。

当前索引可能在插入或删除条目时更改。

默认情况下,对于空组合框或未设置当前条目的组合框,此属性值为-1。

访问函数

intcurrentIndex() const
voidsetCurrentIndex(int index)

通知信号

voidcurrentIndexChanged(int index)

currentText : QString

此属性包含当前文本

如果组合框可编辑,则当前文本是文本编辑框显示的值。否则,它是当前项的值,或者如果组合框为空或未设置当前项,则是空字符串。

setter setCurrentText()仅当组合框可编辑时调用 setEditText()。否则,如果列表中存在匹配的文本,currentIndex 将设置为相应的索引。

访问函数

QStringcurrentText() const
voidsetCurrentText(const QString &text)

通知信号

voidcurrentTextChanged(const QString &text)

另请参阅 editablesetEditText

duplicatesEnabled : bool

该属性表示用户是否可以将重复项输入到组合框中。

请注意,始终可以通过编程方式将重复项插入组合框。

默认情况下,此属性为 false(不允许重复)。

访问函数

boolduplicatesEnabled() const
voidsetDuplicatesEnabled(bool enable)

editable : bool

该属性表示组合框是否可以被用户编辑。

默认情况下,此属性为 false。编辑的效果取决于插入策略。

注意:当禁用 editable 状态时,验证器和补全器将被移除。

访问函数

boolisEditable() const
voidsetEditable(bool editable)

另请参阅 InsertPolicy

frame : bool

该属性表示组合框是否以框架形式绘制自身。

如果启用(默认值),组合框将在框架内部绘制自身,否则组合框将不带任何框架绘制自身。

访问函数

boolhasFrame() const
voidsetFrame(bool)

iconSize : QSize

该属性表示组合框中显示的图标大小。

除非显式设置,否则返回当前样式的默认值。此大小是图标可以有的最大大小;图标不会放大。

访问函数

QSizeiconSize() const
voidsetIconSize(const QSize &size)

insertPolicy : InsertPolicy

该属性表示用于确定用户插入项应在组合框中哪个位置显示的策略。

默认值为 InsertAtBottom,表示新项将出现在项目列表的底部。

访问函数

QComboBox::InsertPolicyinsertPolicy() const
voidsetInsertPolicy(QComboBox::InsertPolicy policy)

另请参阅 InsertPolicy

maxCount : int

该属性表示组合框允许的最大项目数。

注意:如果您将最大数量设置为小于组合框中当前项目数量,则将截断额外项目。这也适用于您已在组合框上设置了外部模型的情况。

默认情况下,此属性的值是由可用的最高有符号整数派生的(通常是2147483647)。

访问函数

intmaxCount() const
voidsetMaxCount(int max)

maxVisibleItems : int

此属性保留组合框在屏幕上允许的最大大小,以项目计。

默认情况下,此属性的值为10。

注意: 对于非可编辑的组合框,当样式返回真时(如Mac样式或Gtk+样式),将忽略此属性QStyle::SH_ComboBox_Popup

访问函数

intmaxVisibleItems() const
voidsetMaxVisibleItems(int maxItems)

minimumContentsLength : int

此属性保留了组合框中应适合的最小字符数。

默认值为0。

如果将此属性设置为正值,则minimumSizeHint()和sizeHint()将考虑它。

访问函数

intminimumContentsLength() const
voidsetMinimumContentsLength(int characters)

另请参阅 sizeAdjustPolicy.

modelColumn : int

此属性持有一个在模型中可见的列。

在填充组合框之前设置时,下拉视图将不会受到影响,并显示第一列(使用此属性的默认值)。

默认情况下,此属性值为0。

注意: 在可编辑的组合框中,可见列也将成为completion column

访问函数

intmodelColumn() const
voidsetModelColumn(int visibleColumn)

placeholderText : QString

当没有设置有效的索引时,设置此文本为placeholderText文本。

当设置无效的索引时,将显示placeholderText。文本不适用于下拉列表。当在添加项目之前调用此函数时,将显示占位文本。如果您希望显示占位文本,则需要程序化调用setCurrentIndex(-1)。设置空的占位文本以重置设置。

QComboBox是可编辑的,请使用QLineEdit::setPlaceholderText

访问函数

QStringplaceholderText() const
voidsetPlaceholderText(const QString &placeholderText)

sizeAdjustPolicy : SizeAdjustPolicy

此属性保留描述在内容更改时组合框大小如何更改的策略。

默认值为AdjustToContentsOnFirstShow

访问函数

QComboBox::SizeAdjustPolicysizeAdjustPolicy() const
voidsetSizeAdjustPolicy(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())

向组合框添加带有给定 icontext 的项目,并包含指定的 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,但不想自己填写所有信息时,此方法很有用。

另请参阅QStyleOption::initFrom

[重写虚拟受保护] 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())

textuserData(存储在 Qt::UserRole)插入到给定 index 处的组合框中。

如果索引等于或大于项目总数,新项目将被附加到现有项目列表中。如果索引为零或负数,新项目将追加到现有项目列表的开头。

另请参阅insertItems

void QComboBox::insertItem(int index, const QIcon &icon, const QString &text, const QVariant &userData = QVariant())

icontextuserData(存储在 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。如果 completernullptr,则禁用自动完成。

默认情况下,对于可编辑组合框,会自动创建一个执行不区分大小写行内完成的 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)

设置要设置的模型 modelmodel 不能是 nullptr。如果您想清除模型的内容,请调用 clear()。

注意:如果组合框是可编辑的,则 model 也将设置在行编辑的补全器上。

另请参阅modelclearsetCompleter

void QComboBox::setRootModelIndex(const QModelIndex &index)

设置组合框中项的根模型项 index

另请参阅rootModelIndex

void QComboBox::setValidator(const QValidator *validator)

设置要使用的 validator 而不是当前的验证器。

注意:editable 属性变为 false 时,验证器将被移除。

另请参阅validator

void QComboBox::setView(QAbstractItemView *itemView)

将用于组合框弹出窗口的视图设置为给定的 itemView。组合框将拥有视图的版权。

注意:如果您想使用便捷视图(如QListWidgetQTableWidgetQTreeWidget),在使用本函数之前,请确保调用带有便捷视图模型的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传递。请注意,即使在选择没有变化的情况下,此信号也会发送。如果您需要知道选择是否实际更改,请使用信号currentIndexChangedcurrentTextChanged

[信号] void QComboBox::textHighlighted(const QString &text)

当用户突出显示组合框弹出列表中的一个项目时发送此信号。传递项目的text

const QValidator *QComboBox::validator() const

返回用于限制组合框文本输入的验证器。

另请参阅 setValidatoreditable

QAbstractItemView *QComboBox::view() const

返回用于组合框弹出窗口的列表视图。

另请参阅 setView

[重写虚保护] void QComboBox::wheelEvent(QWheelEvent *e)

重实现: QWidget::wheelEvent(QWheelEvent *event).

© 2024 Qt公司有限公司。本文件中包含的文档贡献均为其各自所有者的版权。提供的文档是根据自由软件基金会发布的《GNU自由文档许可证》第1.3版许可的。