Usage Examples

Basic usage

from PyQt6.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget
from pyqt6_multiselect_combobox import MultiSelectComboBox

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("MultiSelectComboBox Example")

        central_widget = QWidget()
        layout = QVBoxLayout(central_widget)

        combo = MultiSelectComboBox()
        combo.addItems(["Apple", "Banana", "Orange"])
        combo.setSelectAllEnabled(True)

        layout.addWidget(combo)
        self.setCentralWidget(central_widget)

if __name__ == "__main__":
    app = QApplication([])
    window = MainWindow()
    window.show()
    app.exec()

Programmatic selection

combo.setCurrentText("Apple, Banana")  # joined string (uses display delimiter)
combo.setCurrentText(["Apple", "Orange"])  # list of strings

Bulk selection helpers

combo.selectAll()
combo.clearSelection()
combo.invertSelection()

Working with data roles

from PyQt6.QtCore import Qt

combo.setOutputDataRole(Qt.ItemDataRole.UserRole)
role = combo.getOutputDataRole()

Signals

def on_selection_changed(values):
    print("Selected values:", values)

combo.selectionChanged.connect(on_selection_changed)

More examples

See the repository examples/ folder for runnable scripts covering styling, batch updates, and more.