Skip to content

QtMultiSelectComboBox#

A multi-select combobox that renders the current selection as inline chips.

Screenshot#

qt combobox multi

Example#

Source: examples/qt_combobox_multi.py

"""Multi-select combobox widget."""

from qtpy.QtWidgets import QApplication, QLabel, QVBoxLayout, QWidget

from qtextra.config import THEMES
from qtextra.widgets.qt_combobox_multi import QtMultiSelectComboBox

app = QApplication([])

widget = QWidget()
widget.setMinimumWidth(520)
THEMES.apply(widget)

layout = QVBoxLayout(widget)
layout.addWidget(QLabel("QtMultiSelectComboBox"))

combo = QtMultiSelectComboBox(
    items=["UI", "Backend", "Docs", "Tests", "Release", "Design"],
    parent=widget,
)
combo.set_selected(["UI", "Docs", "Release"])
layout.addWidget(combo)

layout.addWidget(QLabel("Dense selection"))
combo_dense = QtMultiSelectComboBox(
    items=["Apple", "Apricot", "Banana", "Blueberry", "Cherry", "Grape", "Pear", "Strawberry"],
    parent=widget,
)
combo_dense.set_selected(["Apple", "Banana", "Cherry", "Pear"])
layout.addWidget(combo_dense)

layout.addStretch(1)
widget.show()

app.exec_()

Notes#

  • The popup includes built-in search for longer option lists.

API#

Qt Class#

QWidget

Signals#

evt_selection_changed#

Methods#

Combobox allowing multiple selections, shown as chips in the button.

addItems = set_items class-attribute instance-attribute #

selected() -> list[str] #

Return the selected items.

set_items(items: list[str]) -> None #

Set the selected items.

set_selected(items: list[str]) #

Set the selected items.