对于一个C ++ 程序员来说,从头开始编写一个 GUI 框架需要多长时间?
粗略规格:
- 您可以访问 boost、图像加载函数、字体渲染例程、信号槽、unicode 字符串类、varint 类。(基本上是 Qt 4 减去实际的 gui(一切都源自 QWidget))。
- 您必须实现标准控件,如树视图、表格视图、文本编辑器、列表框、组合框、按钮、单选按钮、面板等。
- 该框架与操作系统分离,不使用任何操作系统对象(窗口句柄)。即,您在光栅图像或 OpenGL 窗口上操作并从操作系统接收鼠标/键盘事件,您必须调度/解释。
- 有多个窗口可以移动/最小化/最大化,放在前面。
- 应该可以使用该库重新实现使用该库的任何矩形窗口(想想禁用动画效果的 Win98 gui)。
- 您不需要显示 html 页面。
- 你不能偷工减料,在 ms paint 中制作位图,将其粘贴到屏幕上并说“它是一个窗口”。组件具有几何形状、可配置颜色、可以调整大小、“锚定”到窗口的不同侧面、相互链接并影响彼此的大小和几何形状(想想 Qt 4 布局系统)。
- 程序员的技能 - 平均到高于平均水平,至少 3 年 C++ 经验。
基本上,“Windows 桌面”不使用 windows gdi。
我之所以问,是因为我正在为那些从头开始开发类似东西的人工作(他们的需求非常不寻常,而且我知道没有现有的 gui 框架与他们匹配),我怀疑我可能工作得太慢了,这负面影响我的“士气”。
以前的人在这个项目上浪费了 3 年时间(他们用 Delphi 编写)并且未能完成它,所以负责人决定放弃它并从头开始。Project 与传统的 gui 非常不同,但应该具有相同的复杂性。
所以我需要另一个程序员的粗略估计(有论据或基于工作经验)进行比较。
我的估计是大约需要 1 年或更长时间,但我想知道这是否太长了。