当前位置: 首页 > news >正文

59常用控件_QComboBox的使用

目录

 代码示例:使用下拉框模拟麦当劳点餐

代码示例:从文件中加载下拉框的选项


QComboBox表示下拉框
核心属性

属性说明
currentText当前选中的文本
currentIndex当前选中的条目下标。
从 0 开始计算。如果当前没有条目被选中,值为 -1
editable是否允许修改
设为 true 时,QComboBox 的行为就非常接近 QLineEdit,也可以设置 validator
iconSize下拉框图标(小三角)的大小
maxCount最多允许有多少个条目

核⼼⽅法

方法说明
addItem(const QString&)添加一个条目
currentIndex()获取当前条目的下标
从 0 开始计算。如果当前没有条目被选中,值为 -1
currentText()获取当前条目的文本内容

 核⼼信号

方法说明

activated(int)

activated(const QString & text)

当用户选择了一个选项时发出。

这个时候相当于用户点开下拉框,并且鼠标划过某个选项。
此时还没有确认做出选择。

currentIndexChanged(int)

currentIndexChanged(const QString & text)

当前选项改变时发出。

此时用户已经明确的选择了一个选项。
用户操作或者通过程序操作都会触发这个信号。

editTextChanged(const QString & text)当编辑框中的文本改变时发出 (editable 为 true 时有效)

 代码示例:使用下拉框模拟麦当劳点餐


1)在界面上创建三个下拉框,和一个按钮

2) 编写 widget.cpp, 初始化三个下拉框的内容
3) 编写 widget.cpp, 给按钮添加 slot 函数
4) 执⾏程序, 可以看到, 在点击确定按钮时, 就能获取到当前下拉框中选中的内容
还可以通过Designer图形化界面创建

代码示例:从文件中加载下拉框的选项


很多时候下拉框的选项并非是固定的,而是通过读取文件/读取网络获取到的.
1)在界面上创建一个下拉框
2) 创建⽂件 config.txt , 编写选项. 每个选项占⼀⾏.
形如:
3) 修改widget.cpp,从文件中读取选项.
使用ifstream打开文件
使用getline读取每一行
使用QString::fromStdString把std::string转成QString
QString::fromStdString(line)-----转为QString字符串
QString::toStdString();----------转为String字符串
4) 执⾏程序, 可以看到⽂件内容已经被加载到下拉框中
Qt中也提供了QFile实现读写文件的功能,当然使用C++标准库的std:fstream也是完全可
以的.
之所以存在两套,是因为Qt诞生较早(1991年左右),此时C++还没有完成"标准化"的工作,
C++标准库这样的概念自然也没有诞生,
因此Qt就自己打造了一套库,实现了字符串,容器,文件操作,多线程,网络操作,定时器,正则表达式等内容.
(由于C++标准委员会的不作为,至今仍然有些Qt提供的功能,是标准库不具备的)
CPU是计算机的核心.一个计算机可以没有硬盘,可以没有网卡,可以没有显示器,可以
没有键盘,但是不能没有CPU.一个计算机如果没有CPU,就不能成为是计算机了!!
文件输入输出方向一般针对CPU
ui->comboBox->addItem(line)
此处要求的参数是 QString,不是 std:string.
虽然都是字符串,但是他们是不同的类型~~
此处就需要手动转换了~~
QString::fromStdString(line)
把 std:string 转成 QString
QString s;
s.toStdString();
把 Qstring 转成 std:string

相关文章:

  • 渗透测试中的那些“水洞”:分析与防御
  • 【2025五一数学建模竞赛A题】 支路车流量推测问题|建模过程+完整代码论文全解全析
  • 2025五一数学建模C题完整分析论文(共36页)(含模型、可运行代码、数据)
  • 段永平浙大访谈精华:长期主义的知行合一
  • socket-IO复用技术
  • 治理和管理的区别
  • 程序代码篇---ESP32云开发
  • 《算法精解:C语言描述》note-1 数据结构和算法简介
  • 存算一体架构下的新型AI加速范式:从Samsung HBM-PIM看近内存计算趋势
  • 统计模式识别理论与方法
  • 透视Linux内核:深度剖析Socket机制的本质
  • 使用MGeo模型高精度实现文本中地址识别
  • C++11新特性_自动类型推导
  • GPU虚拟化实现(七)
  • *(解引用运算符)与 ++(自增运算符)的优先级
  • 编写教育网站后端页面笔记
  • Dinero.js - 免费开源的 JavaScript 货币处理工具库,完美解决 JS 浮点数精度丢失问题
  • vue 常见ui库对比(element、ant、antV等)
  • C标准库(libc)接口及示例解析
  • 免费实用的图像处理工具箱​
  • 缔造“水饺皇后”的香港,也是被移民塑造的香港
  • 据报特斯拉寻找新CEO,马斯克财报会议上表态:把更多时间投入特斯拉
  • 体坛联播|欧冠巴萨3比3战平国米,柯洁未进入国家集训队
  • 习近平主持召开部分省区市“十五五”时期经济社会发展座谈会
  • 上海国际咖啡文化节开幕,北外滩集结了超350个展位
  • 李铁案二审驳回上诉,维持一审有期徒刑20年的判决