GUI库:从头开始编写一个文件需要多长时间?

时间:2013-06-15 16:23:33

标签: c++ user-interface

对于单个 C ++程序员,应该从头开始编写GUI框架需要多长时间?

粗略规范:

  1. 您可以访问boost,图像加载函数,字体渲染例程,信号槽,unicode字符串类,varaint类。 (基本上Qt 4减去实际的gui(从QWidget派生的所有内容))。
  2. 您必须实施标准控件,例如树视图,表格视图,文本编辑器,列表框,组合框,按钮,单选按钮,面板等。
  3. 框架与操作系统分离,不使用任何OS对象(窗口句柄)。即您在光栅图像或OpenGL窗口上操作,并从您必须发送/解释的操作系统接收鼠标/键盘事件。
  4. 有多个窗口可以移动/最小化/最大化,放在前面。
  5. 应该可以使用该库重新实现任何使用此库的矩形窗口(想想Win98 gui,禁用动画效果)。
  6. 您无需显示html页面。
  7. 你不能偷工减料,在ms画中制作位图,将它blit到屏幕上然后说“它是一个窗口”。组件具有几何形状,可配置的颜色,可以调整大小,“锚定”到窗口的不同侧面,相互链接并影响彼此的大小和几何形状(想想Qt 4布局系统)。
  8. 程序员的技能 - 平均至高于平均水平,至少3年的C ++经验。
  9. 基本上,“Windows桌面”不使用windows gdi。

    我在问,因为我正在为那些从头开发类似东西的人工作(他们的需求非常不寻常,并且我知道没有现有的gui框架与他们匹配),我怀疑我可能也在工作慢慢地,这会对我的“士气”产生负面影响。

    以前的人在这个项目上浪费了3年(他们用Delphi写的)并且未能完成它,所以负责人决定废弃它并从头开始。项目与传统的guis非常不同,但应该有一些相同的复杂性。

    所以我需要另一位程序员进行粗略估计(有论据或基于工作经验)进行比较 我的估计需要1年或更长时间,但我想知道这是否太长。

2 个答案:

答案 0 :(得分:3)

根据Wikipedia,Qt的开发始于1991年,有两位开发人员。他们于1994年创立了奇趣科技。最初的Qt版本是在1995年之后的一年,因此它在全职时间(1994-1995)至少有2个人年,加上他们在1994年之前花费的时间。

问题是,当他们创立奇趣科技时,他们可能已经拥有足够体面的产品来承担公司的财务风险,因此这2年的额外工作只是冰山一角。根据他们能够利用的投资,他们也可能雇用其他人来帮助他们。

即使您考虑了与GUI无关的所有核心功能(最容易编写的部分,IMO)并使用非常乐观的估计,对于Qt的初始GUI部分,这仍然是几个人年。距离老板对你的预期还有3个月......

答案 1 :(得分:0)

我想说,鉴于您投入一周的时间来规划图书馆的结构并收集您想要包含在其中的所有功能,您可以在6个月内完成它。这一切都取决于你想要的可扩展性,但我认为一年太长了。

当然,这完全是在几年C ++经验和GUI设计经验的假设下进行的。如果您或同事在Photoshop等图形设计方面有经验来创建各种UI皮肤,那么它也会有利于产生的外观。

我希望这会有所帮助。