本帖最后由 jinyi7016 于 2022-8-26 10:01 编辑
@21小跑堂
一个GUI项目,往往并不只有一个页面,而是不同的功能,不同的菜单要使用不同的页面来显示不同的内容。
只在一个界面上进行控件的选择性的隐显显然是不现实的。所以,就要设计多个页面进行切换。
之前使用的GUI,都是要分别设计好几个界面,再通过代码进行刷新,来控制显示哪个界面。
而这次使用的touchgfx却是方便了很多,可以直接用软件来配置页面切换,不用写一行代码。
流程如下:
使用上一次的工程,我们再添加几个Srceen,来进行切换测试。
对一个按键添加事件,这里可以直接添加切换screen的事件,而不用手动写代码实现,很是方便的。
而且,可以设置不同的Screen切换的动画方式与方向。
界面设计好后,事件也添加完成后,在PC上仿真时,会有如下的问题。
这是由于在上个帖子中,在Mode中添加了main.h头文件来驱动LED了,仿真时,无法调用这个文件,而main.h文件是与开发板上的硬件相关的。PC仿真运行时,是不需要这些文件的。
所以,这里先把main.h与HAL_GPIO_TogglePin函数都注释掉,再进行仿真。
可成功启动仿真程序:
这也说明了在GUI开发过程中,要把GUI的界面逻辑都设计好后,再去添加与底层硬件的关联。
需要进行调整时,如果底层硬件的文件代码太多,要加一些条件编译的程序,会比较方便的把底层代码屏蔽掉。
如果GUI界面逻辑变化不大,也可以不在PC上进行仿真,直接在板子上测试即可。
相应的,把screen2与screen3中添加bnt,并增加相应的跳转事件。
在开发板上的运行效果:
|