模型视图中的委托
来源:互联网 发布:jade软件 编辑:程序博客网 时间:2024/06/11 14:06
模型视图中的委托
- 委托(Delegate)是视图中处理用户输入的部件
- 视图可以设置委托对象用于处理用户输入
- 委托对象负责创建和显示用户输入上下文
- 如:编辑框的创建和显示
委托中的关键函数
- createEditor
- 需要编辑数据时,创建编辑组件
- updateEditorGeometry
- 更新编辑器组件的大小
- setEditorData
- 通过索引从模型中获取数据
- setModelData
- 将编辑后的新数据返回模型
委托的本质
- 为视图提供数据编辑的上下文环境
- 产生界面元素的工厂类
- 能够使用和设置模型中的数据
自定义委托时需要重写的函数
- createEditor
- updateEditorGeometry
- setEditorData
- setModelData
- paint(可选)
自定义委托类时需要重写相应的成员函数
根据需要创建编辑组件并设置组件中的数据
编辑结束后将数据返回模型
Qt中的委托作为视图的内部组件而存在,因此,委托时视图的一部分;必然,委托需要承担数据显示的部分工作
改进思路:
解决方案:
- 自定义新的委托类
- 在paint成员函数中绘制进度条显示方式
- 在editorEvent成员函数中禁止数据编辑操作
任务进度模拟:
- 定义计时器用于模拟任务进度
- 定义计时器槽函数void timerTimeout()
- 在槽函数中修改模型中的数据
阅读全文
0 0
- 模型视图中的委托
- (四十)模型视图中的委托
- (四十一)视图中的委托
- Qt之模型/视图(委托)
- Qt之模型/视图(委托)
- Qt的模型/视图/委托知识点
- Qt之模型/视图(委托)
- Qt之模型/视图(委托)
- Qt中的模型-视图
- QtQuick 中的模型视图代理
- Objective-C中的委托事件模型
- 理解OpenGL中的模型视图矩阵变换
- 理解OpenGL中的模型视图矩阵变换
- 理解OpenGL中的模型视图矩阵变换
- QT中的模型/视图综合讲解
- 11 CI中的【模型】 控制器 视图
- QML中的模型/视图--QML数据模型
- AngularJS 中的模型、视图、模板、控制器、服务
- 排序算法——优先队列(基于堆得优先队列)
- Linux Ubuntu 16.04 系统上安装mysql
- iOS项目换电脑开发出现的问题:证书、cocoapod、svn
- 位置信息挖掘
- 万事开头难
- 模型视图中的委托
- 人工智能开发环境 Anaconda使用
- HTML——基本标签和重要概念
- 4.3 FreeRTOS----队列的应用
- LeetCode 665. 不增加的数组
- java编程:无序整数序列,求其中第K大的数。
- 绪论
- C++之不同进程消息通信
- C# 反射泛型