钱钱就是我 发表于 2024-1-24 17:08:08

求助!GUIX图库资源下载到SPIFlash的一些问题

       是这样的,学习了GUIX V620章的内容后,只看到包括例程在内只有字库和主题的读取及调用,没有图片的调用(查了GUIX在线和离线手册,确实没有加载函数的介绍),所以
    1:图片是自动调用的?(因为照着手册来在自己的板子上试了,图片确实可以显示)


    2:我在MainTask.c里定义的两个_cbEventWindow时灵时不灵的的(有时候下进去窗口切换没了,有时候事件回调里的处理没了)是有什么地方需要特别注意的么?


eric2013 发表于 2024-1-25 00:46:48

1、图库和字库一样的,
2、你的这个里面实现的什么功能。

钱钱就是我 发表于 2024-1-25 08:46:27

eric2013 发表于 2024-1-25 00:46
1、图库和字库一样的,
2、你的这个里面实现的什么功能。

两个界面,按界面上的的prompt可以来回切换。回调有定时器,显示界面后prompt显示的数值1秒加一次,切屏后数值不增加,切回来才增加。代码如下
UINT _cbEventWindow1(GX_WINDOW *widget, GX_EVENT *event_ptr)
{
        static uint16_t i = 0;
        switch (event_ptr->gx_event_type)
        {
                case GX_EVENT_SHOW:
                        gx_system_timer_start((GX_WIDGET *)widget, GUI_ID_Timer1, 1, 500);
                        gx_window_event_process(widget, event_ptr);
                break;
               
                case GX_EVENT_TIMER:
                        if (event_ptr->gx_event_payload.gx_event_timer_id == GUI_ID_Timer1)
                        {
                                gx_numeric_prompt_value_set((GX_NUMERIC_PROMPT *)&(window_1.window_1_prompt_5), i++);
                        }
                        gx_window_event_process(widget, event_ptr);
                break;
       
                case GX_SIGNAL(GUIX_ID_Prompt5, GX_EVENT_CLICKED):
                        gx_system_timer_stop((GX_WIDGET *)widget, GUI_ID_Timer1);
                        gx_system_timer_start((GX_WIDGET *)&window, GUI_ID_Timer0, 1, 500);
                        gx_window_event_process(widget, event_ptr);
                break;
               
                default:
                return gx_window_event_process(widget, event_ptr);
        }
        return 0;
}

UINT _cbEventWindow0(GX_WINDOW *widget, GX_EVENT *event_ptr)
{
        static uint16_t i = 0;
        switch (event_ptr->gx_event_type)
        {
                case GX_EVENT_SHOW:
                        gx_system_timer_start((GX_WIDGET *)widget, GUI_ID_Timer0, 1, 500);
                        gx_window_event_process(widget, event_ptr);
                break;
               
                case GX_EVENT_TIMER:
                        if (event_ptr->gx_event_payload.gx_event_timer_id == GUI_ID_Timer0)
                        {
                                gx_numeric_prompt_value_set((GX_NUMERIC_PROMPT *)&(window.window_prompt_3), i++);
                        }
                        gx_window_event_process(widget, event_ptr);
                break;
               
                case GX_SIGNAL(GUIX_ID_Num_promot3, GX_EVENT_CLICKED):
                        gx_system_timer_stop((GX_WIDGET *)widget, GUI_ID_Timer0);
                        gx_system_timer_start((GX_WIDGET *)&window_1, GUI_ID_Timer1, 1, 500);
                        gx_window_event_process(widget, event_ptr);
                break;
               
                default:
                return gx_window_event_process(widget, event_ptr);
        }
        return 0;
}

钱钱就是我 发表于 2024-1-25 10:22:41

破案了, Screen Flow里点击prompt跳转的触发事件目标选项只剩当前窗口了,难怪跳不到另一个窗口,但是箭头还是两个界面相互指着的。奇奇怪怪的问题(触发去掉重新添加就可以了)
页: [1]
查看完整版本: 求助!GUIX图库资源下载到SPIFlash的一些问题