Qt金融行业案例分享

Qt金融行业案例分享的图1

Qt核心价值及优势

- 跨平台支持,Windows、MacOS、Linux、国产麒麟操作系统、Android、iOS等
- 大数据实时显示,性能优异
- 丰富的图形模块,极致用户体验,用户自定义UI布局
- 符合信创要求,助力国产大型软件建设
- 开放源代码
Qt:基于C++领先的跨平台软件开发框架
Qt金融行业案例分享的图2
Qt高效的工具链
Qt金融行业案例分享的图3

Qt金融行业案例分享

Tableau–商业分析与可视化工具
Qt金融行业案例分享的图4
客户需求
› 适用于所有操作系统的单一UI代码库
› 降低维护成本
› 缩短UI开发时间
› 获得Qt企业级专业支持
Qt的解决方案和成果
› 客户战略性部署 Qt 跨平台技术
› 承诺维护成本降低到仅支持一个目标平台
› 具有响应式和品牌化 UX 的 UI 框架,具有原生速度和性能
› 具有Qt商业许可、面向未来的开发策略
Webull案例介绍
Qt金融行业案例分享的图5
- Model/View框架:中文文档
- 性能优化:QTableView,ResizeToContents,QAbstractItemModel,BeginInsert, QContiguousCache,fetchMore
- 功能升级:多级表头,冻结列,汇总行,表头拖动,hover Row,checkBox
模型/视图 编程:中文文档
- model-view-programming
- modelview
来自Qt中文社区翻译的中文文档,更容易理解Model/View框架

Qt金融行业案例分享的图6

Qt金融行业案例分享的图7
性能优化
› 用QTableView代替QTableWidget,性能更佳
QTableWidget等是便利类,如果我们需要高性能的显示,最好使用 QTableView、QListView 和 QTreeView。在这种情况下,您必须编写一个模型类,其中包含要在相应视图类中显示的数据。

Qt金融行业案例分享的图8

Qt金融行业案例分享的图9
›减少ResizeToContents的使用,提升性能
如果对QTableView的verticalHeader或horizontalHeader设置setSectionResizeMode(QHeaderView::ResizeToContents)的话,QTableView会遍历整张表,造成卡顿。所以在表格数据量大的时候,建议将mode设置为 QHeaderView::Interactive 或 QHeaderView::Fixed。
› 用QAbstractTableModel 代替 QStandardItemModel,性能更佳
用 QStandardItemModel 写的模型加载7列20万行数据需要 784 ms;
用 QAbstractTableModel 写的模型加载7列20万行数据需要 25 ms。
› 对于beginInsertRows,如果你有大量数据需要插入 model,推荐将多次 insert 合并为一次
Qt金融行业案例分享的图10
› QContiguousCache
在某些环境中内存是有限的。使用 QContiguousCache,可以优化内存的占用,例如之前的例子,程序运行占用 33.8M 内存,而用 QContiguousCache 优化后,程序运行占用 8M 内存。
› fetchMore
一般的 Model 都是针对固定的数据源,在数据源巨大的情况下,比如大型数据库每个表可能有百万级的数据,最好仅在视图需要这些项目时(即当它们在视图中可见时)将项目批量添加到模型中,fetchMore 和 canFetchMore 就是当你需要增量填充模型时,必须重新实现的函数。
功能升级
› Hierarchical headers多级表头
多级表头,QTableView原生不支持,需要我们继承QHeaderView,自己实现,主要是通过QPainter实现QHeaderView的paintSection函数。

Qt金融行业案例分享的图11

Qt金融行业案例分享的图12
› Dragged columns表头拖动

Qt金融行业案例分享的图13

Qt金融行业案例分享的图14
› Frozen columns冻结列
主要思路是继承 QTableView 创建两个 TableViewBase,然后将一个TableViewBase 叠在另一个 TableViewBase 上,但只显示左边几列,代表冻结列,最后绑定一些信号槽,使滚动条和鼠标事件有效。参考这个思路,我们可以写出右冻结列,上冻结行,下冻结行,固定位置的汇总行。

Qt金融行业案例分享的图15

Qt金融行业案例分享的图16
› Hover Row
Qt金融行业案例分享的图17

Qt金融行业案例分享的图18

› Checkable
表格复选框,包括行选择,列选择,单元格选择,全选。
Qt金融行业案例分享的图19
关于Qt
Qt是一套业界领先的产品开发框架,可供前端设计师和开发人员适用于各种设备和操作系统的先进的UI/UX。
Qt被广泛应用于70多个行业,并在全球范围内建立了完善的生态系统——每年下载量达数百万次。
Qt拥有强大的合作伙伴生态——全球有超过100家软件服务公司和SoC方案供应商具备Qt开发能力。

Qt金融行业案例分享的图20




深圳市优飞迪科技有限公司成立于2010年,是一家专注于产品开发平台解决方案与物联网技术开发的国家级高新技术企业。

十多年来,优飞迪科技在数字孪生、工业软件尤其仿真技术、物联网技术开发等领域积累了丰富的经验,并在这些领域拥有数十项独立自主的知识产权。同时,优飞迪科技也与国际和国内的主要头部工业软件厂商建立了战略合作关系,能够为客户提供完整的产品开发平台解决方案。

优飞迪科技技术团队实力雄厚,主要成员均来自于国内外顶尖学府、并在相关领域有丰富的工作经验,能为客户提供“全心U+端到端服务”。

Qt金融行业案例分享的图21

默认 最新
当前暂无评论,小编等你评论哦!
点赞 评论 收藏
关注