1、常规操作:可编辑:文本框中的内容可以被编辑;可重复:条目之间可以重复;有框架:周边是否包括外框架;图标尺寸:
cb.setDuplicatesEnabled(True)
cb.setFrame(False)
cb.setIconSize(QSize(60, 60))
尺寸调整策略:列表数据发生变化、如何调整控件尺寸。根据组合框的内容、根据组合框展示时进行调整、根据最小的内容长度进行调整,参照最小的内容长度并且带图标。
# 参照最长内容进行调整
cb.setSizeAdjustPolicy(QComboBox.AdjustToContents)
参照最小的内容调整空间尺寸,需要设置最小内容的值。
2、清空编辑内容(条目内容并未减少);弹出:控制下拉列表界面什么时候弹出,
btn.clicked.connect(lambda :cb.showPopup())
完成器会自动匹配相关的数据;(主要是达到一个快速匹配的效果)
cb.setCompleter(QCompleter(["dahk", "jdao", "jiwe"]))
验证器:验证当前的数据是否符合格式、符合规范。
3、信号的发射:activated()方法中的参数不一样,即方法的重载。某个条目被激活时即选中(不包含使用代码选中的情况),不会触发该信号。
# 仅用于与用户进行交互的情况,打印出文本内容
cb.activated[str].connect(lambda val: print("条目被激活", val))
# 当前选中索引发生改变时,打印出索引值,不同的参数导致
cb.currentIndexChanged.connect(lambda val: print("当前索引发生改变", val))
# 当前文本发生改变,文本框中内容是否发生改变,也会发射信号
cb.currentTextChanged.connect(lambda val: print("当前文本发生改变", val))
# 编辑的文本发生改变,文本框中内容是否发生改变
cb.editTextChanged.connect(lambda val: print("当前编辑文本发生改变", val))
# 高亮信号,光标停留在某个条目之上,就会获取高亮的信号
cb.highlighted.connect(lambda val: print("高亮发生改变", val))