跳转至

MultiComboBox 多选下拉

支持多选的下拉选择器。点击展开弹出面板,每个选项带复选框,已选内容水平滚动展示。

基础用法

多选下拉预览

from monkeyqt import MkMultiComboBox

multi = MkMultiComboBox()
multi.addItem("Python")
multi.addItem("Java")
multi.addItem("C++")
multi.addItem("JavaScript")

# 监听选中变化
multi.selectionChanged.connect(lambda items: print(f"已选: {items}"))

批量添加选项

支持多种数据格式:

multi = MkMultiComboBox()
multi.addItems(["苹果", "香蕉", "橘子", "西瓜"])
multi = MkMultiComboBox()
multi.addItems([
    ("显示文本A", "value_a"),
    ("显示文本B", "value_b"),
])
# 字典: key 作为 data, value 作为显示文本
classes = {0: ": "",  1: "自行车",  2: "汽车", 3: "摩托车" }}
multi = MkMultiComboBox()
multi.addItems(classes)

代码控制选中

multi = MkMultiComboBox()
multi.addItems(["A", "B", "C", "D"])

# 设置选中项(通过 data 值)
multi.setCheckedData(["A", "C"])

# 获取选中的 data 列表
print(multi.get_checked_data())   # ["A", "C"]

# 获取选中的文本列表print(multi.get_checked_texts())  # ["A", "C"]

# 清除所有选中
multi.clear_checked()

API

构造函数 &

MkMultiComboBox(parent=None)

Signals

信号 参数 说明
selectionChanged list 选中项变化时触发,参数为 data 列表

方法

方法 说明
addItem(text, data=None) 添加单个选项
addItems(items) 批量添加选项,支持 listdictlist[tuple]
get_checked_data() 返回所有选中项的 data 列表
get_checked_texts() 返回所有选中项的文本列表
setCheckedData(datas) 通过 data 列表设置选中
clear_checked() 清除所有选中
clear() 清空所有选项