python中下拉列表框_PyQT5控件:下拉列表框
(QComboBox)
QComboBox下拉列表框QComboBox以占⽤最少屏幕空间的⽅式向⽤户显⽰选项列表。它是⼀个选择控件,显⽰当前项⽬,并可以弹出可选项⽬列表。组合框可以是可编辑的,允许⽤户修改列表中的每个项⽬。
QComboBox类属性editable 设置是否可编辑
currentText设置当前列表框显⽰内容(前提是先在列表框添加内容)
currentIndex设置当前列表框显⽰内容的索引(前提是先在列表框添加内容)
maxVisibleitems当下拉列表弹出时,允许显⽰的最⼤⼦项⽬
maxCount设置下拉选项集合中的数⽬
inrtPolicy设置⽤户在可编辑的组合框中输⼊⼀个新的字符串时插⼊的策略NoInrt 不插⼊
InrtAtTop 在顶部插⼊
InrtAtCurrent在当前插⼊
InrtAtBottom 在底部插⼊
InrtAfterCurrent 在当前的后⾯插⼊
InrtBeforeCurrent 在当前的前⾯插⼊
InrtAlphabetically 按字母顺序插⼊sizeAdjustPolicy⼤⼩调节策略AdjustToContents 根据所有内容的长度
AdjustToContentsOnFirstShow根据第⼀次显⽰的内容长度
AdjustToMinimumContentsLength 适应最⼩内容长度十一自驾游路线
AdjustToMinimumContentsLengthWithIcon 适应最⼩内容长度与图标minimumContentsLength 最⼩的内容长度
iconSize 图标⼤⼩
duplicatesEnabled 设置⽤户在可编辑的组合框中重复添加
frame 边框
瘦背部modelColumn设置显⽰的模型列
QComboBox信号
信号触发条件:activated(QString) 与⽤户交互时,某个条⽬被选中发出信号,并传递条⽬的值
activated(int) 与⽤户交互时,某个条⽬被选中发出信号,并传递条⽬的索引
currentIndexChanged(QString) 当前索引发⽣改变时发出信号,并传递改变之后的值(⽤户交互,代码控制)
currentIndexChanged(int) 当前索引发⽣改变时发出信号,并传递改变之后的索引(⽤户交互,代码控制)
重庆师范大学排名currentTextChanged(QString) 当前⽂本内容发⽣改变时,并传递⽂本内容
editTextChanged(QString) 编辑的⽂本发⽣改变时发出信号,并传递⽂本内容
highlighted(QString) 在下拉列表中,⿏标移动到某个条⽬时发出信号,并传递条⽬的值
善意的力量
highighted(int) 在下拉列表中,⿏标移动到某个条⽬时发出信号,并传递条⽬的索引
在Qt设计师中,直接双击可添加下拉框条⽬
QComboBox 下拉框实例
四渡赤水路线图import sys
from PyQt5.QtWidgets import QWidget, QComboBox, QApplication
class ComboxDemo(QWidget):
def __init__(lf):
super().__init__()
# 设置标题
lf.tWindowTitle('ComBox例⼦')
# 设置初始界⾯⼤⼩
# 实例化QComBox对象
抛物线的标准方程lf.cb = QComboBox(lf)
ve(100, 20)
# 单个添加条⽬
壮族习俗
lf.cb.addItem('C')
lf.cb.addItem('C++')
lf.cb.addItem('Python')
# 多个添加条⽬
lf.cb.addItems(['Java', 'C#', 'PHP'])
# 信号
lf.cb.currentIndexChanged[str].connect(lf.print_value) # 条⽬发⽣改变,发射信号,传递条⽬内容
lf.cb.currentIndexChanged[int].connect(lf.print_value) # 条⽬发⽣改变,发射信号,传递条⽬索引
小鸡和小鸭
lf.cb.highlighted[str].connect(lf.print_value) # 在下拉列表中,⿏标移动到某个条⽬时发出信号,传递条⽬内容lf.cb.highlighted[int].connect(lf.print_value) # 在下拉列表中,⿏标移动到某个条⽬时发出信号,传递条⽬索引def print_value(lf, i):
print(i)
if __name__ == '__main__':
app = QApplication(sys.argv)
comboxDemo = ComboxDemo()
comboxDemo.show()
<_())