← Back

ComBox 组件实现 教学总结


Table of Contents
  1. 一、这个模块到底在学什么
  2. 1. 选择层
  3. 2. 数据层
  4. 3. 联动层
  5. 4. 读取层
  6. 二、每个模块 / 函数的详细教学
  7. A. QComboBox 详细教学
  8. A.1 它是什么
  9. A.2 这次为什么用它
  10. A.3 最核心接口
  11. 1. addItem(...)
  12. 2. addItems(...)
  13. 3. clear()
  14. 4. currentText()
  15. 5. currentIndex()
  16. 6. currentData()
  17. B. on_comboBox_main_currentTextChanged(const QString &arg1) 详细教学
  18. B.1 它在做什么
  19. B.2 为什么这里用 arg1 很合适
  20. B.3 为什么先 clear()
  21. C. on_pushButton_clicked() 详细教学
  22. C.1 它在做什么
  23. C.2 为什么这一步很重要
  24. D. QMap 详细教学
  25. D.1 它是什么
  26. D.2 你这次分别怎么用
  27. QMap<QString, int> City_Zone
  28. QMap<QString, QList<QString>> cityMap
  29. D.3 为什么 QMap 适合这次场景
  30. D.4 最核心接口
  31. 1. insert(key, value)
  32. 2. value(key)
  33. 3. keys()
  34. D.5 一个你已经碰到但还没系统讲的问题:顺序
  35. E. QList<QString> 详细教学
  36. E.1 它是什么
  37. E.2 为什么这里不用 QMap
  38. E.3 最常见操作
  39. F. addItem() 里的“用户数据”详细教学
  40. F.1 为什么这很重要
  41. F.2 这次你虽然没读它,但概念已经出现了
  42. G. qDebug() 与中文输出问题
  43. G.1 为什么 qDebug() 更适合 Qt 项目
  44. G.2 这次你真正学到的不是“修乱码”,而是:
  45. 三、本模块新增模块的重点系统总结
  46. 1. QComboBox
  47. 定义
  48. 适合场景
  49. 常用接口
  50. 本次作用
  51. 2. QMap
  52. 定义
  53. 本次作用
  54. 常用接口
  55. 3. QList<QString>
  56. 定义
  57. 本次作用
  58. 常见用途
  59. 4. addItem(text, userData)
  60. 定义
  61. 本次作用
  62. 重要理解
  63. 5. currentTextChanged(const QString &)
  64. 定义
  65. 本次作用
  66. 四、这个模块最重要的知识点
  67. 1. QComboBox 是“离散选择控件”
  68. 2. 每个选项既有“显示文本”,也可以有“绑定数据”
  69. 3. 两级联动的核心不是 UI,而是映射关系
  70. 4. 上游选择变化时,下游候选项要重建
  71. 五、这个模块最容易踩的坑
  72. 易错点 1:对象名和槽函数名不匹配
  73. 易错点 2:忘记 clear()
  74. 易错点 3:误把 currentText() 当成唯一读取方式
  75. 易错点 4:把全局变量照抄进来
  76. 易错点 5:中文输出用 std::cout + toStdString() 乱码
  77. 六、你现在应该形成的理解
  78. 七、这一模块最值得记住的最小模板

Protected content

请输入课程内容访问密码