跳到主要内容

实践总结

从各方面而言,GUI开发,也算是前端开发吧。大部分人任务GUI开发就是将UI设计师给出的UI设计图,用代码实现即可。听起来挺简单的。

我是电气工程及其自动化本科毕业的,最开始接触的是单片机,也不带RTOS。当时接触到的有,OLED单色点阵显示屏。还有那种 240x320 TFT电阻触显示屏。那这个时候,当时能先到的就是画点,我们使用lcd_draw_point(x,y,color)类似的函数,在屏幕上进行画点,最终能够在屏幕上实现简单的信息展示作用。再利用电阻屏得到触摸位置,那么就可以实现一点点简单的触控操作了。比如选取一个合适的位置,绘制按钮,然后检测电阻屏按下坐标是否有落在这个位置上,然后执行特定逻辑,这个时候面向过程编程,编写的代码大多如下:

int main() {
while (1) {
draw_lcd_display();
get_lcd_touch(touched, point);
if (touched && is_in_button(point)) {
do_something();
}
delay_ms(20);
}
return 0;
}

后面接触到了上位机,然后就了解到了Qt。对于半路出家的我,Qt一下子激起了我的兴趣。打开Qt Designer软件,在 Form 文件上,从控件栏里拖拉一个ButtonSlider放在Form中,然后点击运行,就能看到电脑桌面弹出一个我们刚刚设计的窗口。这种所见即所得,原来开发上位机这么容易?但是我想点击按钮,然后弹一个对话框显示Hello, world!。又傻眼了,因为我发现我不怎么太会C++。

然后一股脑的栽进了学习Qt的路中,同时一边学习C++。在大四实习的时候,机缘巧合得到了一份Qt开发的实习工作,再到后来的一年工作。

通过学习Qt,不仅学会了界面开发的技能,还需到其它比其更有用的知识。比如,面向对象编程,了解到了设计模式,代码编写规范,API设计。这些在Qt中都有体现。

在使用Qt的过程中,并没有开发实现过非常酷炫的功能,但是肯定都能将设计师给出的UI设计图按照1:1实现出来。然后接下来的内容,可能就会让Qt开发者变得越来越杂。待的大多数公司里,基本不会让你实现完界面,然后就没你啥事了。大部分情况你还要去实现整个APP的功能,这个时候你需要了解 网络编程,数据库编程,OpenGL开发,ROS开发,音视频开发等等。当然这些也不需要你全都精通,基本要做到对其API熟练,了解一些常用的功能。偶尔项目碰到了阻塞点时,再来细看。