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