← Back

PlainTextEdit 组件实现 教学总结


Table of Contents
  1. 一、这个模块到底在学什么
  2. 1. 输入层
  3. 2. 文本结构层
  4. 3. 数据容器层
  5. 4. 视图层
  6. 二、每个模块 / 函数的详细教学
  7. A. QPlainTextEdit 详细教学
  8. A.1 它是什么
  9. QPlainTextEdit
  10. QTextEdit
  11. A.2 这次为什么不用 QLineEdit
  12. A.3 最核心接口
  13. B. QTextDocument 详细教学
  14. B.1 它是什么
  15. B.2 这次为什么要先拿 document()
  16. B.3 最核心接口:blockCount()
  17. C. QTextBlock 详细教学
  18. C.1 它是什么
  19. C.2 最核心接口:findBlockByNumber()
  20. C.3 text()
  21. C.4 为什么这比手写字符串分割更有教学价值
  22. D. QStringList 详细教学
  23. D.1 它是什么
  24. D.2 这次为什么它合适
  25. D.3 最常见操作
  26. E. QStringListModel 详细教学
  27. E.1 它是什么
  28. E.2 这次为什么必须用它
  29. E.3 最核心构造方式
  30. E.4 为什么我让你加 this
  31. F. QListView 详细教学
  32. F.1 它是什么
  33. QListWidget
  34. QListView
  35. F.2 这次为什么用 QListView
  36. F.3 最核心接口:setModel()
  37. 三、状态栏相关内容的详细教学
  38. A. QStatusBar 是什么
  39. B. 这次你怎么用的
  40. C. 为什么这次状态栏不是核心,但仍值得认识
  41. 四、为什么这里用 Model/View,而不是直接往界面塞文本
  42. 五、本模块新增模块的重点系统总结
  43. 1. QPlainTextEdit
  44. 定义
  45. 适合场景
  46. 本次作用
  47. 2. QTextDocument
  48. 定义
  49. 核心接口
  50. 本次作用
  51. 3. QTextBlock
  52. 定义
  53. 核心接口
  54. 本次作用
  55. 4. QStringList
  56. 定义
  57. 本次作用
  58. 5. QStringListModel
  59. 定义
  60. 本次作用
  61. 6. QListView
  62. 定义
  63. 核心接口
  64. 本次作用
  65. 7. QStatusBar
  66. 定义
  67. 本次作用
  68. 六、这个模块最重要的知识点
  69. 1. QPlainTextEdit 适合多行纯文本,不是富文本
  70. 2. 文本控件背后有文档模型
  71. 3. QListView 本身不存数据,它依赖模型
  72. 4. 逐行处理文本时,QTextDocument + QTextBlock 是一种标准思路
  73. 七、这个模块最容易踩的坑
  74. 易错点 1:把 QListView 当成 QListWidget
  75. 易错点 2:忘记给 QStringListModel 设父对象
  76. 易错点 3:误以为 blockCount() 就一定等于“非空行数”
  77. 易错点 4:主窗口不是 QMainWindow
  78. 八、你现在应该形成的理解
  79. 九、这一模块最值得记住的最小模板

Protected content

请输入课程内容访问密码