• 6500阅读
  • 5回复

[提问]Qt自定义一个gantt插件 [复制链接]

上一主题 下一主题
离线babubabu3
 

只看楼主 倒序阅读 楼主  发表于: 2011-06-21
— 本帖被 yfx2003 从 《C++ GUI Qt 4编程》(第2版)专栏 移动到本区(2011-09-14) —
大家好,目前在用qt做一个项目,需要一个甘特的的展示,在网上找了很多资料,qt这方面的实在是太少,看到论坛的的某位仁兄做的gantt很不错,但是只有图片展示而已。各位谁有类似的项目经验或者有什么思路,可否简单说两句,多谢多谢!!!
离线kimtaikee

只看该作者 1楼 发表于: 2011-06-21
hola 这要看你的gantt 有什么需求,多大数据量,是否支持缩放操作,和用户的交互如何 时间精度 等等


离线kimtaikee

只看该作者 2楼 发表于: 2011-06-21
这是以前做个比较粗鄙的gantt 你可以看看

小图 | 大图 图片

  • Qt自定义一个gantt插件 - QTCN开发网
  • Qt自定义一个gantt插件 - QTCN开发网
  • Qt自定义一个gantt插件 - QTCN开发网
  • Qt自定义一个gantt插件 - QTCN开发网
  • Qt自定义一个gantt插件 - QTCN开发网

离线babubabu3

只看该作者 3楼 发表于: 2011-06-28
回 2楼(kimtaikee) 的帖子
我的任务数大概不超过1000,每个任务支持点击窗口弹出,朋友,能不能大概说下实现过程,比如界面怎么画
离线kimtaikee

只看该作者 4楼 发表于: 2011-06-28
不超过1000的话,我想就是一个展示而已,应该交互也非常少,那就:
1. 两个widget , 左边显示任务名,右边显示gantt
2. 这两个widget都要放在QScrollArea 中,你好要同步这两个QScrollArea 的竖直滚动操作,使两个widget 看起来像是一个widget 另外设置一些QScrollArea 的参数,比如setContentMargins , setFrameShape etc .
3. gantt 说来也见到就是简单的矩形绘图,别忘了在两个widget中都要调用setFixedSize 这个函数好让QScrollArea 的水平和竖直滚动条显示出来
4.为了能够同步左右两个widget 你还要在它们之间建立很多signal-slot 的连接
5.剩下的就是两个widget 的逻辑同步了,自己动动脑吧,你的ganntt 需求很简单 .

离线babubabu3

只看该作者 5楼 发表于: 2011-06-29
多谢拉!
快速回复
限100 字节
 
上一个 下一个