QComboBox 类

QComboBox 小部件组合按钮与下拉列表。 更多...

头: #include <QComboBox>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
继承: QWidget
继承者:

QFontComboBox

公共类型

enum InsertPolicy { NoInsert, InsertAtTop, InsertAtCurrent, InsertAtBottom, InsertAfterCurrent, …, InsertAlphabetically }
enum 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 * view () const

重实现公共函数

virtual bool event (QEvent * event ) override
virtual QVariant inputMethodQuery (Qt::InputMethodQuery query ) const override
virtual QSize minimumSizeHint () const override
virtual QSize sizeHint () 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 currentIndexChanged (int index )
void currentTextChanged (const QString & text )
void editTextChanged (const QString & text )
void highlighted (int index )
void textActivated (const QString & text )
void textHighlighted (const QString & text )

保护函数

virtual void initStyleOption (QStyleOptionComboBox * option ) const

重实现保护函数

virtual void changeEvent (QEvent * e ) override
virtual void contextMenuEvent (QContextMenuEvent * e ) override
virtual void focusInEvent (QFocusEvent * e ) override
virtual void focusOutEvent (QFocusEvent * e ) override
virtual void hideEvent (QHideEvent * e ) override
virtual void inputMethodEvent (QInputMethodEvent * e ) override
virtual void keyPressEvent (QKeyEvent * e ) override
virtual void keyReleaseEvent (QKeyEvent * e ) override
virtual void mousePressEvent (QMouseEvent * e ) override
virtual void mouseReleaseEvent (QMouseEvent * e ) override
virtual void paintEvent (QPaintEvent * e ) override
virtual void resizeEvent (QResizeEvent * e ) override
virtual void showEvent (QShowEvent * e ) override
virtual void wheelEvent (QWheelEvent * e ) override

详细描述

Collapsed QCombobox

Expanded QCombobox

显示特征

QComboBox 是呈现用户选项列表的紧凑方式。

A combobox is a selection widget that shows the current item, and pops up a list of selectable items when clicked. Comboboxes can contain pixmaps as well as strings if the insertItem () 和 setItemText () functions are suitably overloaded.

编辑特征

A combobox may be editable, allowing the user to modify each item in the list. For editable comboboxes, the function clearEditText () 的提供以清零显示字符串无需改变组合框内容。

当用户在可编辑组合框中录入新字符串时,可能插入或可能不插入 Widget,且可以将 Widget 插入在多个位置。默认策略是 InsertAtBottom 但可以改变这使用 setInsertPolicy ().

可以将输入约束到可编辑组合框使用 QValidator ;见 setValidator ()。默认情况下,接受任何输入。

可以使用插入函数填充组合框, insertItem () 和 insertItems () 例如。可以改变项采用 setItemText ()。可以移除项采用 removeItem () 和可以移除所有项采用 clear ()。返回当前项文本通过 currentText (),和采用 text() 返回编号项的文本。可以设置当前项采用 setCurrentIndex ()。返回组合框的项数通过 count ();可以设置最大项数采用 setMaxCount ()。可以允许编辑使用 setEditable ()。对于可编辑组合框,可以设置自动补全使用 setCompleter () 和设置用户是否可以重复添加采用 setDuplicatesEnabled ().

信号

There are three signals emitted if the current item of a combobox changes: currentIndexChanged (), currentTextChanged (),和 activated (). currentIndexChanged () 和 currentTextChanged () 始终发射,无论改变是通过编程方式还是通过用户交互完成,而 activated () 才被发射当通过用户交互导致改变时。 highlighted () 信号被发射当用户突显组合框弹出列表项时。所有 3 信号均有 2 个版本,一个带有 QString 自变量和一个带有 int 自变量。若用户选择或突显像素图,仅 int signals are emitted. Whenever the text of an editable combobox is changed, the editTextChanged () 信号被发射。

模型/视图框架

QComboBox 使用 模型/视图框架 用于其弹出列表并存储其项。默认情况下 QStandardItemModel 存储项和 QListView 子类显示弹出列表。可以直接访问模型和视图 (采用 model () 和 view ()), but QComboBox also provides functions to set and get item data, for example, setItemData () 和 itemText (). You can also set a new model and view (with setModel () 和 setView ())。对于组合框标签文本和图标,模型数据拥有 Qt::DisplayRole and Qt::DecorationRole 被使用。

注意: 无法更改 SelectionMode view (),例如,通过使用 setSelectionMode ().

另请参阅 QLineEdit , QSpinBox , QRadioButton ,和 QButtonGroup .

成员类型文档编制

enum QComboBox:: InsertPolicy

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

常量 描述
QComboBox::NoInsert 0 字符串不会插入组合框。
QComboBox::InsertAtTop 1 字符串将插入作为第一组合框项。
QComboBox::InsertAtCurrent 2 当前项将 replaced 通过字符串。
QComboBox::InsertAtBottom 3 将字符串插入在组合框最后项之后。
QComboBox::InsertAfterCurrent 4 将字符串插入在组合框当前项之后。
QComboBox::InsertBeforeCurrent 5 将字符串插入在组合框当前项之前。
QComboBox::InsertAlphabetically 6 按字母次序将字符串插入组合框。

enum QComboBox:: SizeAdjustPolicy

此枚举指定大小提示如何 QComboBox 调节当添加新内容或改变内容时。

常量 描述
QComboBox::AdjustToContents 0 组合框始终根据内容调节
QComboBox::AdjustToContentsOnFirstShow 1 组合框将调节到其首次展示内容。
QComboBox::AdjustToMinimumContentsLengthWithIcon 2 组合框将调节到 minimumContentsLength 加图标空间。出于性能原因,在大型模型中使用此策略。

特性文档编制

[read-only] count : const int

此特性保持组合框中的项数。

默认情况下,对于空组合框,此特性拥有 0 值。

访问函数:

int count () const

[read-only] 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 and setEditText ().

duplicatesEnabled : bool

This property holds whether the user can enter duplicate items into the combobox.

注意:以编程方式把重复项插入组合框始终是可能的。

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

访问函数:

bool duplicatesEnabled () const
void setDuplicatesEnabled (bool enable )

editable : bool

This property holds whether the combo box can be edited by the user.

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

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

访问函数:

bool isEditable () const
void setEditable (bool editable )

另请参阅 InsertPolicy .

frame : bool

This property holds whether the combo box draws itself with a frame.

若启用 (认默) 组合框将自身绘制在框架内,否则组合框将绘制自身没有任何框架。

访问函数:

bool hasFrame () const
void setFrame (bool)

iconSize : QSize

此特性保持组合框中展示图标的尺寸。

除非明确设置,否则返回当前风格的默认值。此尺寸是图标可以拥有的最大尺寸。不会按比例放大较小尺寸图标。

访问函数:

QSize iconSize () const
void setIconSize (const QSize & size )

insertPolicy : InsertPolicy

This property holds the policy used to determine where user-inserted items should appear in the combobox.

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

访问函数:

QComboBox::InsertPolicy insertPolicy () const
void setInsertPolicy (QComboBox::InsertPolicy policy )

另请参阅 InsertPolicy .

maxCount : int

This property holds the maximum number of items allowed in the combobox.

注意: 若将最大数设为小于当前组合框项数量,额外项将被截取。若有为组合框设置外部模型,这也适用。

默认情况下,此特性值派生自最高可用有符号整数 (通常为 2147483647)。

访问函数:

int maxCount () const
void setMaxCount (int max )

maxVisibleItems : int

此特性保持组合框在屏幕上的最大允许尺寸,以项数度量

默认情况下,此特性拥有 10 值。

注意: 不可编辑组合框忽略此特性当样式返回 true 时对于 QStyle::SH_ComboBox_Popup (譬如:Mac 样式或 Gtk+ 样式)。

访问函数:

int maxVisibleItems () const
void setMaxVisibleItems (int maxItems )

minimumContentsLength : int

此特性保持组合框应拟合的最小字符数。

默认值为 0。

若此特性被设为正值, minimumSizeHint () 和 sizeHint () 把它考虑在内。

访问函数:

int minimumContentsLength () const
void setMinimumContentsLength (int characters )

另请参阅 sizeAdjustPolicy .

modelColumn : int

此特性保持可见模型列。

若在填充组合框之前设置,弹出视图将不受影响且会展示第一列 (使用此属性的默认值)。

默认情况下,此特性拥有 0 值。

注意: 在可编辑组合框,可见列还将变为 完成列 .

访问函数:

int modelColumn () const
void setModelColumn (int visibleColumn )

placeholderText : QString

设置 placeholderText text shown when no valid index is set.

The placeholderText 将展示当设置无效索引时。在下拉列表中无法访问文本。当调用此函数时在添加项之前,将展示占位符文本,否则必须调用 setCurrentIndex (-1) 以编程方式若想要展示占位符文本。将占位符文本设为空能重置设置。

QComboBox 可编辑,使用 QLineEdit::setPlaceholderText () 代替。

访问函数:

QString placeholderText () const
void setPlaceholderText (const QString & placeholderText )

sizeAdjustPolicy : SizeAdjustPolicy

This property holds the policy describing how the size of the combobox changes when the content changes.

默认值为 AdjustToContentsOnFirstShow .

访问函数:

QComboBox::SizeAdjustPolicy sizeAdjustPolicy () const
void setSizeAdjustPolicy (QComboBox::SizeAdjustPolicy policy )

另请参阅 SizeAdjustPolicy .

成员函数文档编制

[explicit] QComboBox:: QComboBox ( QWidget * parent = nullptr)

构造组合框采用给定 parent ,使用默认模型 QStandardItemModel .

[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 and 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).

[signal] void QComboBox:: currentIndexChanged ( int index )

此信号被发送每当 currentIndex 在组合框透过用户交互或编程方式改变。项的 index 被传递或 -1,若组合框变为空或 currentIndex 被重置。

注意: 通知程序信号对于特性 currentIndex .

[signal] void QComboBox:: currentTextChanged (const QString & text )

此信号被发射每当 currentText 改变。新值被传递作为 text .

注意: It is not emitted, if currentText remains the same, even if currentIndex 改变。

注意: 通知程序信号对于特性 currentText .

[signal] void QComboBox:: editTextChanged (const QString & text )

此信号被发射当组合框行编辑 Widget 文本改变时。指定新文本通过 text .

[override virtual] 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 为给定 role ;否则返回 -1。

The flags 指定如何搜索组合框项。

int QComboBox:: findText (const QString & text , Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive) const

返回索引当项包含给定 text ;否则返回 -1。

The flags 指定如何搜索组合框项。

[override virtual protected] void QComboBox:: focusInEvent ( QFocusEvent * e )

重实现: QWidget::focusInEvent (QFocusEvent *event).

[override virtual protected] void QComboBox:: focusOutEvent ( QFocusEvent * e )

重实现: QWidget::focusOutEvent (QFocusEvent *event).

[override virtual protected] void QComboBox:: hideEvent ( QHideEvent * e )

重实现: QWidget::hideEvent (QHideEvent *event).

[virtual] void QComboBox:: hidePopup ()

隐藏组合框项列表若它目前可见并重置内部状态,以便若自定义弹出窗口展示在重实现 showPopup (),那么还需要重实现 hidePopup() 函数以隐藏自定义弹出窗口,和调用基类实现以重置内部状态每当自定义弹出 Widget 被隐藏时。

另请参阅 showPopup ().

[signal] void QComboBox:: highlighted ( int index )

此信号被发送,当用户突显组合框弹出列表项。项的 index 被传递。

[virtual protected] void QComboBox:: initStyleOption ( QStyleOptionComboBox * option ) const

初始化 option 采用值来自此 QComboBox 。此方法对子类是有用的,当需要 QStyleOptionComboBox ,但不希望自己填充所有信息。

另请参阅 QStyleOption::initFrom ().

[override virtual protected] void QComboBox:: inputMethodEvent ( QInputMethodEvent * e )

重实现: QWidget::inputMethodEvent (QInputMethodEvent *event).

[override virtual] 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 and userData (存储在 Qt::UserRole ) 进组合框在给定 index .

若索引等于或大于项总数,新的项将被追加到现有项列表。若索引为 0 或为负,新项将预先准备到现有项列表。

另请参阅 insertItems ().

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

插入 icon , text and userData (存储在 Qt::UserRole ) 进组合框在给定 index .

若索引等于或大于项总数,新的项将被追加到现有项列表。若索引为 0 或为负,新项将预先准备到现有项列表。

另请参阅 insertItems ().

void QComboBox:: insertItems ( int index , const QStringList & list )

插入字符串从 list 到组合框作为单独项,起始于 index 指定。

若索引等于或大于项总数,新的项将被追加到现有项列表。若索引为 0 或为负,新项将预先准备到现有项列表。

另请参阅 insertItem ().

void QComboBox:: insertSeparator ( int index )

将分隔符项插入组合框在给定 index .

若索引等于或大于项总数,新的项将被追加到现有项列表。若索引为 0 或为负,新项将预先准备到现有项列表。

另请参阅 insertItem ().

QVariant QComboBox:: itemData ( int index , int role = Qt::UserRole) const

返回数据为给定 role 以给定 index 在组合框,或无效 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).

[override virtual protected] void QComboBox:: mouseReleaseEvent ( QMouseEvent * e )

重实现: QWidget::mouseReleaseEvent (QMouseEvent *event).

[override virtual protected] void QComboBox:: paintEvent ( QPaintEvent * e )

重实现: QWidget::paintEvent (QPaintEvent *event).

void QComboBox:: removeItem ( int index )

移除项位于给定 index 从组合框。这将更新当前索引,若索引被移除。

此函数什么都不做,若 index 超出范围。

[override virtual protected] void QComboBox:: resizeEvent ( QResizeEvent * e )

重实现: QWidget::resizeEvent (QResizeEvent *event).

QModelIndex QComboBox:: rootModelIndex () const

返回组合框项的根模型项索引。

另请参阅 setRootModelIndex ().

void QComboBox:: setCompleter ( QCompleter * completer )

设置 completer 以使用而不是当前补全器。若 completer is nullptr ,自动补全被禁用。

默认情况下,对于可编辑组合框, QCompleter 自动创建不区分大小写的内联补全。

注意: 补全器被移除,当 editable 特性变为 false ,或当行编辑被替换通过调用 setLineEdit (). Setting a completer on a QComboBox (不可编辑) 会被忽略。

另请参阅 completer ().

[slot] void QComboBox:: setEditText (const QString & text )

设置 text 在组合框的文本编辑。

void QComboBox:: setItemData ( int index , const QVariant & value , int role = Qt::UserRole)

设置数据 role 为项在给定 index 在组合框到指定 value .

另请参阅 itemData ().

void QComboBox:: setItemDelegate ( QAbstractItemDelegate * delegate )

设置项 delegate 为弹出列表视图。组合框拥有委托的所有权。

任何现有委托将被移除,但不被删除。 QComboBox 未拥有所有权对于 delegate .

警告: 不应该在组合框、Widget 映射器或视图之间共享同一委托实例。这样做会导致不正确或不直观的编辑行为,由于连接到给定委托的每个视图可能接收 closeEditor () signal, and attempt to access, modify or close an editor that has already been closed.

另请参阅 itemDelegate ().

void QComboBox:: setItemIcon ( int index , const QIcon & icon )

设置 icon 为项在给定 index 在组合框。

另请参阅 itemIcon ().

void QComboBox:: setItemText ( int index , const QString & text )

设置 text 为项在给定 index 在组合框。

另请参阅 itemText ().

void QComboBox:: setLineEdit ( QLineEdit * edit )

设置行 edit 以代替使用当前行编辑 Widget。

组合框拥有行编辑的所有权。

注意: 由于组合框行编辑拥有 QCompleter ,任何先前调用 setCompleter () 将不再有任何效果。

另请参阅 lineEdit ().

[virtual] 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 or QTreeWidget ),确保调用 setModel () 在组合框采用方便 Widget 模型,在调用此函数之前。

另请参阅 view ().

[override virtual protected] void QComboBox:: showEvent ( QShowEvent * e )

重实现: QWidget::showEvent (QShowEvent *event).

[virtual] void QComboBox:: showPopup ()

显示组合框项列表。若列表为空,就不会展示项。

若重新实现此函数以展示自定义弹出,确保调用 hidePopup () 去重置内部状态。

另请参阅 hidePopup ().

[override virtual] QSize QComboBox:: sizeHint () const

重实现访问函数为特性: QWidget::sizeHint .

此实现缓存大小提示以避免重置大小,当内容动态改变时。要使缓存值无效,改变 sizeAdjustPolicy .

[signal] void QComboBox:: textActivated (const QString & text )

此信号被发射当用户选取组合框项时。项的 text 被传递。注意:此信号被发送,甚至在选取不改变时。若需要知道选取实际何时改变,使用信号 currentIndexChanged () 或 currentTextChanged ().

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

此信号被发送,当用户突显组合框弹出列表项。项的 text 被传递。

const QValidator *QComboBox:: validator () const

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

另请参阅 setValidator () 和 editable .

QAbstractItemView *QComboBox:: view () const

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

另请参阅 setView ().

[override virtual protected] void QComboBox:: wheelEvent ( QWheelEvent * e )

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