硬汉嵌入式论坛

 找回密码
 立即注册
查看: 880|回复: 5
收起左侧

[ThreadX全家桶] GUIX Studio的窗口聚焦设置会影响窗口的显示顺序

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2022-11-21 11:05:52 | 显示全部楼层 |阅读模式


GUIX的Z序设置不怎么起作用的样子。

实际测试发现。

如果同一个父窗口的两个子窗口,有个支持聚焦的,操作这个窗口,或者上电默认的聚焦状态,会导致非聚焦的窗口被覆盖


回复

使用道具 举报

3

主题

1222

回帖

1231

积分

至尊会员

积分
1231
发表于 2022-11-21 16:08:11 | 显示全部楼层
回复

使用道具 举报

6

主题

31

回帖

49

积分

初级会员

积分
49
发表于 2023-6-1 13:16:34 | 显示全部楼层
把window0设置为Visible At Starup,其余窗口没有设置,但每次重置或上电都是从window2启动,这是啥原因?
屏幕截图 2023-06-01 131605.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
 楼主| 发表于 2023-6-21 09:24:18 | 显示全部楼层
厉飞雨 发表于 2023-6-1 13:16
把window0设置为Visible At Starup,其余窗口没有设置,但每次重置或上电都是从window2启动,这是啥原因?
...

这不正常,应该是那个是启动创建,那个优先展示,大概率你的创建代码有点问题。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
 楼主| 发表于 2023-6-21 09:24:27 | 显示全部楼层
[C] 纯文本查看 复制代码
/*
*********************************************************************************************************
*	函 数 名: MainTask
*	功能说明: GUI主函数
*	形    参: 无
*	返 回 值: 无
*********************************************************************************************************
*/
void MainTask(void) 
{
	/* 避免上电后瞬间的撕裂感 */
	LCD_SetBackLight(0);
	
	/*
       触摸校准函数默认是注释掉的,电阻屏需要校准,电容屏无需校准。如果用户需要校准电阻屏的话,执行
	   此函数即可,会将触摸校准参数保存到EEPROM里面,以后系统上电会自动从EEPROM里面加载。
	*/
#if 0
	LCD_SetBackLight(255);
	LCD_InitHard();
    TOUCH_Calibration(2);
#endif
	
	/*初始化配置 */
	gx_initconfig();

	/* 配置显示屏 */
    gx_studio_display_configure(DISPLAY_1, stm32h7_graphics_driver_setup_565rgb,
        LANGUAGE_ENGLISH, DISPLAY_1_THEME_1, &root);
	
    /* 创建窗口 
	  显存 - > canvas画布 - > root window  -> window/widget
      root window 是创建到canvas上的容器,可以认为就是类似emWin的桌面窗口,这样都创建后,一般我们各种窗口控件都可以创建到root window上
      就跟使用emWin一样,将各种窗口创建到桌面窗口。
	*/
	/* 同一个父窗口下,禁止聚焦后,先后顺序显示,如果使能聚焦,聚焦窗口将再最前面显示  */
    gx_studio_named_widget_create("window", (GX_WIDGET *)root, (GX_WIDGET **)&pScreen);
	gx_studio_named_widget_create("window_1", (GX_WIDGET *)root, (GX_WIDGET **)&pScreen);
	
	gx_studio_named_widget_create("window_2", (GX_WIDGET *)NULL, (GX_WIDGET **)&pScreen);
	

	/* 显示根窗口 */
    gx_widget_show(root);

    /* 启动GUIX */
    gx_system_start();
	
	tx_thread_sleep(300);
	LCD_SetBackLight(255);
	
	while(1)
	{
		tx_thread_sleep(20);
	}
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-27 02:43 , Processed in 0.184740 second(s), 31 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表