OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 10443|回复: 53

UCGUI深入学习图形界面的苦恼

[复制链接]

4

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-10-18
在线时间
0 小时
发表于 2013-11-10 18:30:22 | 显示全部楼层 |阅读模式
                                                     已经解决                                            
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-11-10 22:39:50 | 显示全部楼层
回复 支持 反对

使用道具 举报

53

主题

608

帖子

0

精华

高级会员

Rank: 4

积分
890
金钱
890
注册时间
2013-3-29
在线时间
18 小时
发表于 2013-11-11 11:42:04 | 显示全部楼层
回复【楼主位】三文鱼:
---------------------------------
我也想知道,所以,帮顶,呵呵。
学电子,学音乐!!
回复 支持 反对

使用道具 举报

5

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2012-11-4
在线时间
1 小时
发表于 2013-11-11 12:15:02 | 显示全部楼层
这个只能看GUI手册和例程来摸索了,一步步解决细节中的问题了
回复 支持 反对

使用道具 举报

1

主题

22

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2012-12-4
在线时间
0 小时
发表于 2013-11-11 14:47:55 | 显示全部楼层
推荐 你买一本书《嵌入式实时操作系统uC/OS-II经典实例》作者:刘波文  孙岩
慢慢研究
回复 支持 反对

使用道具 举报

53

主题

608

帖子

0

精华

高级会员

Rank: 4

积分
890
金钱
890
注册时间
2013-3-29
在线时间
18 小时
发表于 2013-11-11 20:42:37 | 显示全部楼层
回复【5楼】odleio:
---------------------------------搞个电子版,玩玩、
学电子,学音乐!!
回复 支持 反对

使用道具 举报

4

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-10-18
在线时间
0 小时
 楼主| 发表于 2013-11-12 07:35:59 | 显示全部楼层
回复【5楼】odleio:
--------------------------好的,我研究研究
回复 支持 反对

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2013-11-12 08:47:25 | 显示全部楼层
用uCGUIBulider啊
回复 支持 反对

使用道具 举报

4

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-10-18
在线时间
0 小时
 楼主| 发表于 2013-11-12 14:14:50 | 显示全部楼层
回复【8楼】lsj9383:
--------------------------------小弟属于菜鸟,这个Builder最进看了,但是移植之后又好多错误回复【8楼】lsj9383:
---------------------------------
回复 支持 反对

使用道具 举报

4

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-10-18
在线时间
0 小时
 楼主| 发表于 2013-11-12 14:22:05 | 显示全部楼层

小弟随便画的的东东,




然后生成两个。c文件,一个自己定义的,一个貌似叫Events。c,然后这两个。c文件的部分截图如下:


下面这个Event.c里面的代码就只有几个头文件,小弟很不明白
啥意思

下面的是Builder的编译截图



 

回复 支持 反对

使用道具 举报

4

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-10-18
在线时间
0 小时
 楼主| 发表于 2013-11-12 14:24:32 | 显示全部楼层
回复【8楼】lsj9383:
---------------------------------
9喽是我的问题截图,  我 不知道怎么用Builder生成的那两个.c文件,导致keil编译老是错误,请问大侠有没有个小例子啊,让小弟拜读一下,感激不尽啊
回复 支持 反对

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2013-11-12 18:22:11 | 显示全部楼层
回复【11楼】三文鱼:
---------------------------------
因为Event.c是写事件的。你没有按键操作,所以Event.c里面没有代码。
比如说你按键,按下后,就是个事件,这个事件发生时候,需要完成的工作,就做Event.c里面写。
通俗点,就是说Event.c基本上就是面向用户编程的。
另一个.c文件,可以看做界面的初始化。
回复 支持 反对

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2013-11-12 18:26:57 | 显示全部楼层
记得应该是可以的,你可以试下。
我第一次写的,呵呵,写来测试的。

ucGUIBuliderTest.zip

1.35 MB, 下载次数: 545

回复 支持 反对

使用道具 举报

53

主题

608

帖子

0

精华

高级会员

Rank: 4

积分
890
金钱
890
注册时间
2013-3-29
在线时间
18 小时
发表于 2013-11-12 19:03:48 | 显示全部楼层
回复【13楼】lsj9383:
---------------------------------
看看。
学电子,学音乐!!
回复 支持 反对

使用道具 举报

4

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-10-18
在线时间
0 小时
 楼主| 发表于 2013-11-12 20:39:32 | 显示全部楼层
回复【12楼】lsj9383:
----------------------------
首先,真诚的感激你对小弟无私的帮助。
你提到那个按键的事件,小弟来兴趣了,那么我如何利用Builder来构建这个按键事件呢,也就是说,我如何哟Events.c有服务函数。
小弟就举个例子:假如我做了个温度显示的界面,然后按下BEGIN可以进行温度上限的设定,按下END返回主界面?
在我没听你讲到Events是处理按键的时候,小弟会使用触摸功能专门检测某区域进行识别,不知这样做好不好?
还有,这个Events。c是根据什么生成的代码呢?
回复 支持 反对

使用道具 举报

4

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-10-18
在线时间
0 小时
 楼主| 发表于 2013-11-12 20:39:58 | 显示全部楼层
回复【13楼】lsj9383:
---------------------------------
非常感谢你
回复 支持 反对

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2013-11-12 21:09:26 | 显示全部楼层
回复【15楼】三文鱼:
---------------------------------
你那样也可以检测,不过用ucGUIBulider更方便些。
你要在图形界面对控件进行设置,要使能事件。
具体操作可以自己摸索下,不是很难。
回复 支持 反对

使用道具 举报

4

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-10-18
在线时间
0 小时
 楼主| 发表于 2013-11-13 12:44:35 | 显示全部楼层
回复【17楼】lsj9383:
---------------------------------
小弟昨天看了你给的代码,可能是小弟看的不够仔细,小弟发现你直接把Codes.c及Events.c加入到user下,然后在主函数里直接调用了MainTask()函数,但是并未发现这两个。c文件的头文件,工程也没报错,然后我比葫芦画瓢,添加我的Codes.c到user下时,错误一大堆,
,相关的路径我也已经添加了,是不是有什么地方小弟没注意到啊,给指点指点吧,前辈
回复 支持 反对

使用道具 举报

4

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-10-18
在线时间
0 小时
 楼主| 发表于 2013-11-13 12:45:03 | 显示全部楼层


 
回复 支持 反对

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2013-11-13 15:25:32 | 显示全部楼层
回复【19楼】三文鱼:
---------------------------------
你gui相关的头文件添加完了的吗?
回复 支持 反对

使用道具 举报

4

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-10-18
在线时间
0 小时
 楼主| 发表于 2013-11-13 16:58:47 | 显示全部楼层
回复【20楼】lsj9383:
---------------------------------
是的,添加完了,在没引入Codes.c之前,整个工程都能正常工作的
回复 支持 反对

使用道具 举报

4

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-10-18
在线时间
0 小时
 楼主| 发表于 2013-11-13 17:09:43 | 显示全部楼层
这是我的工程。那个NEW.c就是Codes.c,我重新命的名。

练习:UCGUI_2.rar

24.46 MB, 下载次数: 324

回复 支持 反对

使用道具 举报

4

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-10-18
在线时间
0 小时
 楼主| 发表于 2013-11-13 17:10:41 | 显示全部楼层
回复【20楼】lsj9383:
---------------------------------
上面21喽有我的工程,麻烦你看看,谢谢你了
回复 支持 反对

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2013-11-13 21:31:49 | 显示全部楼层
回复【23楼】三文鱼:
---------------------------------
我晚些时候看。
我发给你的工程,你能编译成功吗?
回复 支持 反对

使用道具 举报

4

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-10-18
在线时间
0 小时
 楼主| 发表于 2013-11-13 22:06:18 | 显示全部楼层
回复【24楼】lsj9383:
--------------------------------能编译成功。而且我一直在看主函数是如何调用MainTask(),没看到头文件包含啊,奇怪了
回复 支持 反对

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2013-11-14 08:24:11 | 显示全部楼层
回复【25楼】三文鱼:
---------------------------------
能编译就对着我的看。
MainTask是没有声明,但是定义了的,编译器是找得到的,只是有个警告而已。
回复 支持 反对

使用道具 举报

16

主题

253

帖子

0

精华

高级会员

Rank: 4

积分
565
金钱
565
注册时间
2013-10-16
在线时间
52 小时
发表于 2013-11-14 15:51:13 | 显示全部楼层
两个牛b人,我都还没看到这里,你们就已经这么熟悉了,在下佩服五体投地。
回复 支持 反对

使用道具 举报

4

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-10-18
在线时间
0 小时
 楼主| 发表于 2013-11-14 21:58:45 | 显示全部楼层
回复【26楼】lsj9383:
----------------------------
基本成功了,但是出现个小bug,我弄了两个确定按钮(装个样子,没有按键功能),但是其中一个按钮不显示字符,另一个却 可以正常显示,
当然这两个框的内容不一样,但是颜色、字体、大小都设置的相同,这是什么情况,我郁闷了一晚上了
回复 支持 反对

使用道具 举报

4

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-10-18
在线时间
0 小时
 楼主| 发表于 2013-11-14 22:03:47 | 显示全部楼层


 
回复 支持 反对

使用道具 举报

4

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-10-18
在线时间
0 小时
 楼主| 发表于 2013-11-14 22:07:14 | 显示全部楼层
回复【26楼】lsj9383:
回复【25楼】三文鱼: --------------------------------- 能编译就对着我的看。 MainTask是没有声明,但是定义了的,编译器是找得到的,只是有个警告而已。
---------------------------------在TFT上面《那个Return能正常显示,而Press只有边框,框内无字符???这应该不是TFT显示屏的问题吧,还有个问题,就是对话框最上方的那个Caption字符串在TFT上也没了,其背景颜色也没了,是不是我下的这个Builder生成的代码不全啊/??
回复 支持 反对

使用道具 举报

53

主题

608

帖子

0

精华

高级会员

Rank: 4

积分
890
金钱
890
注册时间
2013-3-29
在线时间
18 小时
发表于 2013-11-14 22:26:13 | 显示全部楼层
回复【29楼】三文鱼:
-----------------------------
楼主我也要开始弄这个了,可以交流交流哦。
学电子,学音乐!!
回复 支持 反对

使用道具 举报

53

主题

608

帖子

0

精华

高级会员

Rank: 4

积分
890
金钱
890
注册时间
2013-3-29
在线时间
18 小时
发表于 2013-11-14 23:42:06 | 显示全部楼层
回复【30楼】三文鱼:
---------------------------------
楼主我也遇到这个问题,一个控件正常,2个就不行。
学电子,学音乐!!
回复 支持 反对

使用道具 举报

53

主题

608

帖子

0

精华

高级会员

Rank: 4

积分
890
金钱
890
注册时间
2013-3-29
在线时间
18 小时
发表于 2013-11-15 00:05:07 | 显示全部楼层
是不是uCGUI源码的问题啊,用的uCGUI3.9
学电子,学音乐!!
回复 支持 反对

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2013-11-15 09:48:06 | 显示全部楼层
好像gui有时候是有这种问题,我没深入研究过这个,现在都是直接有点以前的工程模板,复制来用
回复 支持 反对

使用道具 举报

4

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-10-18
在线时间
0 小时
 楼主| 发表于 2013-11-15 09:54:26 | 显示全部楼层
回复【32楼】XINSI:
-------------------------------那你觉得是怎么回事呢
回复 支持 反对

使用道具 举报

4

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-10-18
在线时间
0 小时
 楼主| 发表于 2013-11-15 09:55:12 | 显示全部楼层
回复【33楼】XINSI:
---------------------------------
我现在用的是3.90a.。。。。那个3.90有啥优势么
回复 支持 反对

使用道具 举报

4

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-10-18
在线时间
0 小时
 楼主| 发表于 2013-11-15 15:17:28 | 显示全部楼层
回复【33楼】XINSI:
----------------------------
我去、、、、换了个3.90的源码,直接乱了,只能正常显示Caption那个最上方的蓝色条条,别的什么都没有
回复 支持 反对

使用道具 举报

53

主题

608

帖子

0

精华

高级会员

Rank: 4

积分
890
金钱
890
注册时间
2013-3-29
在线时间
18 小时
发表于 2013-11-15 15:27:36 | 显示全部楼层
回复【37楼】三文鱼:
---------------------------------
我也不知道,都有毛病啊
学电子,学音乐!!
回复 支持 反对

使用道具 举报

53

主题

608

帖子

0

精华

高级会员

Rank: 4

积分
890
金钱
890
注册时间
2013-3-29
在线时间
18 小时
发表于 2013-11-15 15:28:10 | 显示全部楼层
回复【34楼】lsj9383:
---------------------------------
请问怎么解决啊?。
学电子,学音乐!!
回复 支持 反对

使用道具 举报

4

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-10-18
在线时间
0 小时
 楼主| 发表于 2013-11-15 15:36:42 | 显示全部楼层
回复【39楼】XINSI:
---------------------------------
让他给咱们他用的源码,完完全全的源码,呵呵呵
回复 支持 反对

使用道具 举报

4

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-10-18
在线时间
0 小时
 楼主| 发表于 2013-11-15 15:37:25 | 显示全部楼层
回复【40楼】三文鱼:
---------------------------------
我觉得可能是我们下载的不全
回复 支持 反对

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2013-11-15 16:04:56 | 显示全部楼层
回复【39楼】XINSI:
---------------------------------
那直接用我贴出来的那个工程吧
回复 支持 反对

使用道具 举报

12

主题

432

帖子

0

精华

高级会员

Rank: 4

积分
729
金钱
729
注册时间
2012-6-21
在线时间
59 小时
发表于 2013-11-15 17:21:10 | 显示全部楼层
帮顶。
UCGUI做好,需要花时间啊。
呵呵。
回复 支持 反对

使用道具 举报

4

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-10-18
在线时间
0 小时
 楼主| 发表于 2013-11-15 21:08:42 | 显示全部楼层
回复【43楼】无名氏:
---------------------------------
请问有啥经验或者资料么,分享一下啊,不胜感激
回复 支持 反对

使用道具 举报

53

主题

608

帖子

0

精华

高级会员

Rank: 4

积分
890
金钱
890
注册时间
2013-3-29
在线时间
18 小时
发表于 2013-11-15 21:29:17 | 显示全部楼层
回复【43楼】无名氏:
---------------------------------写错了,没啥。
学电子,学音乐!!
回复 支持 反对

使用道具 举报

53

主题

608

帖子

0

精华

高级会员

Rank: 4

积分
890
金钱
890
注册时间
2013-3-29
在线时间
18 小时
发表于 2013-11-15 21:29:43 | 显示全部楼层
回复【楼主位】三文鱼:
---------------------------------
有没有发现触屏没有校准啊?
学电子,学音乐!!
回复 支持 反对

使用道具 举报

53

主题

608

帖子

0

精华

高级会员

Rank: 4

积分
890
金钱
890
注册时间
2013-3-29
在线时间
18 小时
发表于 2013-11-15 21:30:38 | 显示全部楼层
回复【42楼】lsj9383:
---------------------------------
有没有发现触屏没有校准啊?
学电子,学音乐!!
回复 支持 反对

使用道具 举报

53

主题

608

帖子

0

精华

高级会员

Rank: 4

积分
890
金钱
890
注册时间
2013-3-29
在线时间
18 小时
发表于 2013-11-15 22:41:14 | 显示全部楼层
回复【8楼】lsj9383:
---------------------------------
是不是触摸上下左右,读出上下左右的坐标值,设置
#define GUI_TOUCH_AD_LEFT         300
#define GUI_TOUCH_AD_RIGHT      3800
#define GUI_TOUCH_AD_BOTTOM  3800
#define GUI_TOUCH_AD_TOP         80 ,
用这个读坐标值。void GUI_TOUCH_Exec(void) {
  #ifndef WIN32
  static U8 ReadState;
  int x=0,y=0;
  /* calculate Min / Max values */
  if (xyMinMax[GUI_COORD_X].Min < xyMinMax[GUI_COORD_X].Max) {
    xMin = xyMinMax[GUI_COORD_X].Min;
    xMax = xyMinMax[GUI_COORD_X].Max;
  } else {
    xMax = xyMinMax[GUI_COORD_X].Min;
    xMin = xyMinMax[GUI_COORD_X].Max;
  }
  if (xyMinMax[GUI_COORD_Y].Min < xyMinMax[GUI_COORD_Y].Max) {
    yMin = xyMinMax[GUI_COORD_Y].Min;
    yMax = xyMinMax[GUI_COORD_Y].Max;
  } else {
    yMax = xyMinMax[GUI_COORD_Y].Min;
    yMin = xyMinMax[GUI_COORD_Y].Max;
  }
  /* Execute the state machine which reads the touch */
  switch (ReadState) {
  case 0:
    yPhys = TOUCH_X_MeasureY();
    TOUCH_X_ActivateY();  /* Prepare X- measurement */
    ReadState++;
    break;
  default:
    xPhys = TOUCH_X_MeasureX();
    TOUCH_X_ActivateX();  /* Prepare Y- measurement */
    /* Convert values into logical values */
    #if !GUI_TOUCH_SWAP_XY   /* Is X/Y swapped ? */
      x = xPhys;
      y = yPhys;
    #else
      x = yPhys;
      y = xPhys;
    #endif
    if ((x < xMin) || (x > xMax)  || (y < yMin) || (y > yMax)) {
      _StoreUnstable(-1, -1);
    } else {
      x = _AD2X(x);
      y = _AD2Y(y);
      _StoreUnstable(x, y);
    }
    /* Reset state machine */
    ReadState = 0;
    break;
  }
  #endif /* WIN32 */
}
学电子,学音乐!!
回复 支持 反对

使用道具 举报

11

主题

62

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2013-4-22
在线时间
0 小时
发表于 2013-11-17 12:41:50 | 显示全部楼层
回复【13楼】lsj9383:
---------------------------------
兄弟,我也正在学ucgui,很喜欢使用ucguibuilder的模式,能不能交个朋友加QQ细聊啊?我的QQ:1635195950 。                                    
山登绝顶我为峰!
回复 支持 反对

使用道具 举报

11

主题

127

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
220
金钱
220
注册时间
2013-7-14
在线时间
3 小时
发表于 2013-11-24 16:01:06 | 显示全部楼层
我想用GUI建一个按钮然后按下  在界面上有反应,可是我只能建个按钮不知道怎么把触摸函数加上。看GUI手册感觉很无力,上面 没介绍,求给例子,看你们做的 应该可以实现我这一步
因为爱所以爱
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-25 02:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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