Qt常用控件之QComboBox

Qt常用控件之QComboBox

🌟🌟hello,各位读者大大们你们好呀🌟🌟

🚀🚀系列专栏:【Qt的学习】

📝📝本篇内容:QComboBox基本介绍;点餐功能;读取文件获取数据

⬆⬆⬆⬆上一篇:Qt常用控件之QTextEdit

💖💖作者简介:轩情吖,请多多指教(>> •̀֊•́ ) ̖́-

1.QComboBox基本介绍

QComboBox是一个下拉框控件,我们可以通过这个控件来进行选择,还是老样子,讲一下它的相关函数和信号

函数声明 函数说明
QString currentText() const 返回当前选中的文本
int currentIndex() const 返回当前选中条目的下标,从 0 开始计算. 如果当前没有条⽬被选中, 值为 -1
void setEditable(bool editable) 设置是否可以编辑,设为 true 时, QComboBox 的⾏为就⾮常接近 QLineEdit , 也可以设置validator即验证器
void setIconSize(const QSize &size) 设置下拉图标的大小
void setMaxCount(int max) 设置最大的条目数量
void QComboBox::addItem(const QString &text, const QVariant &userData = QVariant()) 添加⼀个条⽬

接下来就是信号

信号声明 信号说明
void QComboBox::activated(int index) 当⽤⼾选择了⼀个选项时发出,这个时候相当于用户点开下拉框, 并且⿏标划过某个选项,此时还没有确认做出选择
void activated(QString) 同上,只不过是类型变成了条目内容
void currentIndexChanged(const QString &text) 当前选项改变时发出,此时用户已经明确的选择了⼀个选项,用户操作或者通过程序操作都会触发这个信号.
void currentIndexChanged(int index) 同上,只不过类型变成了条目下标
void editTextChanged(const QString &text) 当编辑框中的⽂本改变时发出,(editable 为 true 时有效)

2.点餐功能

通过这个我们又可以实现一下点餐功能了,只需要三个QComboBox控件即可,向每个控件中添加条目


当我们下拉框后,鼠标滑过某个选项,选项会带有高亮效果,此时就表示激活,也就是前面所说的触发activited信号

3.读取文件获取数据

我们下拉框中的内容很多时候不是写死的,而是需要从网络或者本地文件中加载到的,因此我们可以模拟一下本地文件的读取

我们先在项目目录下创建一个txt文件,内容是一些城市

在图形化界面拖拽一个下拉框即可

这里面有两个点要注意一下,第一个就是我们读取到的内容是C++中的std::string类型,但是我们需要的是QString,因此我们就需要通过QString::fromStdString()来进行转换,相反从QString转换到std::string就要使用QString s;s.toStdString()来转换。第二个点是我们的目录写法,它本身有两种写法,但是我们不能使用相对地址,因为我们的可执行程序并不是在当前写代码的目录下,而是在编译目录下

这里还有一个点要注意,我们的文本内容中不能多打换行,否则就会造成下面的情况

会造成多出一个条目,并且是空的,因此我们在文本中写完最后一个条目后不需要再打回车

🌸🌸Qt常用控件之QComboBox大概就讲到这里啦,博主后续会继续更新更多Qt的相关知识,干货满满,如果觉得博主写的还不错的话,希望各位小伙伴不要吝啬手中的三连哦!如有小伙伴需要Qt的安装包可以私信我,你们的支持是博主坚持创作的动力!💪💪

相关推荐
dialect_3 小时前
KMP算法
开发语言·c++·算法
总要学点什么4 小时前
第89篇:三维特效-螺旋圆效果——让螺旋臂卷起一圈圈外扩的涟漪
开发语言·javascript·ecmascript·webgl·cesium·空间分析·1024程序员节
听风吹等浪起5 小时前
第26章:ViT+InceptionDW+FocalLoss改进|CT骨折影像二分类完整Pytorch实现(含PyQt5推理GUI)
pytorch·qt·分类
ShineWinsu5 小时前
对于Qt:QRadioButton常见属性以及QButtonGroup的解析
数据库·c++·qt·microsoft·gui·qradiobutton·qbuttongroup
傲世仙尊5 小时前
多态-虚表才活到运行期符号表早已消失
c++
开开心心_Every5 小时前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea
chenbingjie_c6 小时前
C++ 多态完全指南:从虚函数重写到虚函数表原理
开发语言·c++
是main不是漫6 小时前
【双指针——移动零】数组划分类题目的入门基石
c++·算法
吴卫斌6 小时前
定投ETF实战指南(四):行业/主题ETF——定投的“进攻端“
开发语言·python·股票·量化
·present·6 小时前
CSAPP(Bomb lab)
c语言·c++