python PyQt5 QComboBox类(下拉列表框、组合下拉框)
https://doc.qt.io/qtforpython/PySide2/QtWidgets/QComboBox.html?highlight=qcombobox#PySide2.QtWidgets.QComboBox
文章目錄
- 繼承關系
- 細節描述
- 示例
繼承關系
細節描述
QComboBox提供了一種以占用最少屏幕空間的方式向用戶顯示選項列表的方法。
組合框是顯示當前項目的選擇小部件,并且可以彈出可選項目的列表。組合框可能是可編輯的,允許用戶修改列表中的每個項目。
組合框可以包含像素圖和字符串。適當地重載了insertItem()和setItemText()函數。對于可編輯的組合框,提供了函數clearEditText(),以清除顯示的字符串而不更改組合框的內容。
如果組合框的當前項發生更改,則會發出兩個信號,分別是currentIndexChanged()和Activated()。無論更改是通過編程方式還是通過用戶交互進行,始終都會發出currentIndexChanged(),而僅當更改是由用戶交互引起時才發出activate()。當用戶突出顯示組合框彈出列表中的一個項目時,將發出highlighted()信號。所有這三個信號都有兩個版本,一個帶有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())。對于組合框標簽中的文本和圖標,將使用模型中具有DisplayRole和DecorationRole的數據。請注意,您無法更改view()的SelectionMode,例如,使用setSelectionMode()。
See alsoQLineEditQSpinBoxQRadioButtonQButtonGroupGUI Design Handbook: Combo Box, Drop-Down List Box class QComboBox([parent=None])? param parent QWidget使用默認模型QStandardItemModel用給定的父級構造一個組合框。
示例
總結
以上是生活随笔為你收集整理的python PyQt5 QComboBox类(下拉列表框、组合下拉框)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Labelme 图像语义分割标注软件
- 下一篇: 放置奇兵 算法 月度活动 破碎时空记录