QComboBox
2021-7-21
| 2023-8-2
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
Property
 
 
QComboBox组件能让用户在多个选择项中选择一个
notion image
 

增加项目

下拉框的内容有两种增加方式:追加和指定位置添加
可以看到有个参数是userdata,其实就是可以附带的内容,在面板上不显示,但是可以包含的内容,比方我们选择区号,面板上只显示地名,选择好后后台接收的内容是地名对应的数字
 
还有一种增加的方法:批量增加,用一个可迭代的数据就可以
这里的可迭代对象可以是元组、列表,但内容必须是字符串类型的
要注意:虽然字符串也属于可迭代对象,但这里是不能用
 

删除项目

 

改指定项目

 

编辑当前显示文本

如果没有指定的索引值或文本内容,则显示状态不变
 

插入分割线

 

被编辑状态

如果控件设置了可被编辑,就可以用键盘输入新的内容。在有新的文本被输入,控件失去焦点后,所输入的文本会自动添加在最后面,就像qq登陆时的记住账号一样,只要输入一遍就有这个选项了
这个编辑状态还可以结合当前文本的显示
这里有个现象,就是如果在调用上面这条指令前文本框里显示的有图标,在用这条这里后图标时不会变化的,只是后面的文本改了。敲一下回车就好了
 

插入模型(树形表)

 

数据的获取

这里插播一个lambda的用法:有些信号是带有传递的参数的,但是如果不想用这个参数时,可以把这个参数屏蔽掉,比如添加一个按钮,点击按钮后获取最后一个项的文本
点击按钮发现打印的时False,为什么呢?因为按钮再被clicked的时候是会发送一个布尔量作为参数的,那么val再有参数进来时时用实际传递的参数。这时候就需要把这个参数屏蔽掉
 

数据的限制

 

常规操作

 

调整尺寸策略

 

清除内容和弹出列表

 

完成器和验证器

完成器的用法和QLineEdit的方法差不多,但是一般都是结合了下拉列表框里的文本内容生成一个可迭代对象给setCompleter()。验证器的用法也和前面的验证器差不多,包含了验证规则和修正方法
 
 

信号

1.条目改变
2.当前条目改变
3.高亮发生变化
  • Python
  • PyQT5
  • QSplitterQSpinBox、QDoubleSpinBox
    目录