QComboBox 简介

详细说明
QComboBox小部件是一个组合按钮和弹出列表。
QComboBox提供了一种以占用最少屏幕空间的方式向用户显示选项列表的方法。
组合框是一个显示当前项目的选择小部件,可以弹出可选项目列表。组合框可以是可编辑的,允许用户修改列表中的每个项目。
组合框可以包含像素图和字符串; insertItem()和setItemText()函数适当重载。对于可编辑的组合框,提供了clearEditText()函数,用于清除显示的字符串而不更改组合框的内容。
如果组合框的当前项改变,则发出两个信号,currentIndexChanged()和activated()。无论是以编程方式还是通过用户交互完成更改,都始终会发出currentIndexChanged(),而只有在用户交互引起更改时才会发出activate()。当用户突出显示组合框弹出列表中的项目时,将发出突出显示的()信号。所有三个信号都存在两个版本,一个带有QString参数,另一个带有int参数。如果用户选择或高亮显示像素图,则仅发出int信号。每当更改可编辑组合框的文本时,都会发出editTextChanged()信号。
当用户在可编辑的组合框中输入新字符串时,窗口小部件可能插入也可能不插入,并且可以将其插入多个位置。默认策略是InsertAtBottom,但您可以使用setInsertPolicy()更改此设置。
可以使用QValidator将输入约束到可编辑的组合框;请参阅setValidator()。默认情况下,接受任何输入。
例如,可以使用插入函数insertItem()和insertItems()来填充组合框。可以使用setItemText()更改项目。可以使用removeItem()删除项目,并使用clear()删除所有项目。 currentText()返回当前项的文本,并返回带有text()的编号项的文本。可以使用setCurrentIndex()设置当前项。组合框中的项目数由count()返回;可以使用setMaxCount()设置最大项目数。您可以使用setEditable()进行编辑。对于可编辑的组合框,您可以使用setCompleter()设置自动完成,并且使用setDuplicatesEnabled()设置用户是否可以添加重复项。
QComboBox将模型/视图框架用于其弹出列表并存储其项目。默认情况下,QStandardItemModel存储项目,QListView子类显示弹出列表。您可以直接访问模型和视图(使用model()和view()),但QComboBox还提供了设置和获取项数据的函数(例如,setItemData()和itemText())。您还可以设置新模型和视图(使用setModel()和setView())。对于组合框标签中的文本和图标,使用模型中具有Qt :: DisplayRole和Qt :: DecorationRole的数据。请注意,您无法更改view()的SelectionMode,例如,使用setSelectionMode()。

猜你喜欢

转载自blog.csdn.net/xinqingwuji/article/details/88990577