CN104199628B - 基于QT Embedded系统的字符显示方法和系统 - Google Patents

基于QT Embedded系统的字符显示方法和系统 Download PDF

Info

Publication number
CN104199628B
CN104199628B CN201410386727.8A CN201410386727A CN104199628B CN 104199628 B CN104199628 B CN 104199628B CN 201410386727 A CN201410386727 A CN 201410386727A CN 104199628 B CN104199628 B CN 104199628B
Authority
CN
China
Prior art keywords
character
display
bitmap
request
format
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410386727.8A
Other languages
English (en)
Other versions
CN104199628A (zh
Inventor
周国麟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING PEITIAN TECHNOLOGY Co Ltd
Original Assignee
BEIJING PEITIAN TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING PEITIAN TECHNOLOGY Co Ltd filed Critical BEIJING PEITIAN TECHNOLOGY Co Ltd
Priority to CN201410386727.8A priority Critical patent/CN104199628B/zh
Publication of CN104199628A publication Critical patent/CN104199628A/zh
Priority to PCT/CN2015/086103 priority patent/WO2016019861A1/zh
Application granted granted Critical
Publication of CN104199628B publication Critical patent/CN104199628B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本发明公开了一种基于QT Embedded系统的字符显示方法和系统,所述字符显示方法包括:接收显示字符的请求;从预存储的字符位图映射表中查找与需要显示的字符对应的位图;按照预定显示格式显示所述位图。本发明通过建立字符位图映射表,在需要显示字符时查找显示预定显示格式的位图,从而避免了现有技术中需要显示字符时高频率地计算字符的尺寸、字符对齐的影响、字符所在位置布局的影响等情况所占用的系统资源问题,能够节省系统资源,避免影响其他功能,防止系统出现断续及反应慢等现象,改善了用户体验。

Description

基于QT Embedded系统的字符显示方法和系统
技术领域
本发明涉及显示技术领域,具体是涉及一种基于QT Embedded系统的字符显示方法,还涉及一种基于QT Embedded系统的字符显示系统。
背景技术
现有技术中,Qt Embedded系统是图形化界面开发工具Qt的嵌入式版本系统,即嵌入式图形化界面开发工具系统,其通过Qt API(Application Program Interface,应用程序接口)与Linux I/O接口以及Frame buffer(帧缓冲,标准显示设备驱动接口)直接交互,拥有较高的运行效率,而且整体采用面向对象编程,拥有良好地体系架构和编程模式。
具体而言,QT Embedded系统用于嵌入式硬件架构的常用软件环境,其具有跨平台的优势,相同的代码可以适用于windows、linux等不同操作系统下。
众所周知的是,在数控系统、测试仪器等设备上经常需要用到快速变化的字符显示。譬如机床的轴的坐标信息需要快速在显示屏上显示,且这种坐标信息具有格式不变、字符变化、字符个数变化等特点。而QT Embedded系统使用QLabel(Qt的标签显示类)类进行字符显示,但在频繁刷新变化的时候,QLabel会占用巨大的嵌入式系统处理器的资源。具体来说,对于QLabel类而言,QT Embedded系统在每一次刷新字符显示的时候都需要计算字符的尺寸、字符对齐的影响、字符所在位置布局的影响等情况,而这些计算在高刷新频率下会凸显其资源占用耗费的问题,甚至影响其他操作和显示的功能,用户体验差。
发明内容
本发明主要解决现有技术字符刷新显示时占用系统资源甚至影响其他功能的技术问题,提供一种基于QT Embedded系统的字符显示方法和系统,能够节省系统资源,避免影响其他功能并提高用户体验。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种基于QT Embedded系统的字符显示方法,所述字符显示方法包括:接收显示字符的请求;从预存储的字符位图映射表中查找与需要显示的字符对应的位图;按照预定显示格式显示所述位图以响应所述显示字符的请求。
其中,所述按照预定显示格式显示所述位图的步骤,具体包括:调用显示驱动内存Frame buffer对显示屏的像素点进行操作,以将所述位图填充在对应的Frame buffer位置上,进而以所述预定显示格式在所述显示屏上显示所述位图。
其中,所述从预存储的字符位图映射表中查找与需要显示的字符对应的位图的步骤包括:将所述显示字符的请求发送至QT Embedded系统的副线程,以使所述副线程从预存储的字符位图映射表中查找与所述字符对应的位图;所述按照预定显示格式显示所述位图以响应所述显示字符的请求包括:所述副线程调用显示驱动内存帧缓冲Frame buffer对显示屏的像素点进行操作,以将所述位图填充在对应的Frame buffer位置上,进而以所述预定显示格式在所述显示屏上显示所述位图。
其中,所述将所述显示字符的请求发送至QT Embedded系统的副线程包括:将所述显示字符的请求发送至字符显示任务队列;向所述副线程发送有任务的唤醒,以使所述副线程检查所述字符显示任务队列,并按照先入先出的顺序执行所述字符显示任务队列中的请求
其中,所述从预存储的字符位图映射表中查找与需要显示的字符对应的位图的步骤之前,还包括:按照预定字符格式制作字符的位图;建立所述字符与所述位图的字符位图映射表并存储所述位图。
其中,所述预定显示格式包括所述字符的大小、字体、颜色和对齐方式,所述字符包括以下类型的字符中的至少一种:阿拉伯数字、英文字母、汉字、符合和特殊符号。
为解决上述技术问题,本发明采用的另一个技术方案是:提供一种基于QTEmbedded系统的字符显示系统,所述字符显示系统包括接收模块,查找模块和描绘显示模块:所述接收模块,用于接收显示字符的请求;所述查找模块,用于从预存储的字符位图映射表中查找与需要显示的字符对应的位图;所述描绘显示模块,用于按照预定显示格式显示所述位图以响应所述显示字符的请求。
其中,所述描绘显示模块具体用于调用显示驱动内存帧缓冲Frame buffe对显示屏的像素点进行操作,以将所述位图填充在对应的Frame buffer位置上,进而以所述预定显示格式在所述显示屏上显示所述位图。
其中,所述字符显示系统还包括:发送模块,用于将所述显示字符的请求发送至QTEmbedded系统的副线程,以使所述副线程从预存储的字符位图映射表中查找与所述字符对应的位图;所述副线程还用于调用显示驱动内存帧缓冲Frame buffer对显示屏的像素点进行操作,以将所述位图填充在对应的Frame buffer位置上,进而以所述预定显示格式在所述显示屏上显示所述位图。
其中,所述发送模块包括:第一发送子模块,用于将所述显示字符的请求发送至字符显示任务队列;第二发送子模块,用于向所述副线程发送有任务的唤醒,以使所述副线程检查所述字符显示任务队列,并按照先入先出的顺序执行所述字符显示任务队列中的请求。
本发明的有益效果是:区别于现有技术的情况,本发明通过建立字符位图映射表,在接收到显示字符的请求时查找需要显示的字符对应预定显示格式的位图,从而避免了现有技术中需要显示字符时高频率地计算字符的大小、字符对齐的影响、字符所在位置布局的影响等情况所占用的系统资源问题,能够节省系统资源,避免影响其他功能,防止系统出现断续及反应慢等现象,改善了用户体验。
附图说明
图1是本发明字符显示方法一实施方式的流程图;
图2是本发明字符显示方法第一具体实施方式的流程图;
图3是本发明字符显示方法第二具体实施方式的流程图;
图4是本发明字符显示系统第一实施方式的流程图;
图5是本发明字符显示系统第二实施方式的流程图。
具体实施方式
参阅图1,图1是本发明字符显示方法一实施方式的流程图,本实施方式字符显示方法可以用于面向对象编程的系统中,譬如为基于QT Embedded的系统,具体可以用于数控系统、测试仪器、秒表等显示字符读数的装置上,本实施方式字符显示方法包括但不限于以下步骤。
步骤S100,接收显示字符的请求。
在步骤S100中,QT Embedded系统可以根据用户的具体操作、待显示列表等等方式而被动或主动地产生显示字符的请求。
步骤S101,从预存储的字符位图映射表中查找与字符对应的位图。
在步骤S101之前,本发明可以预先进行设置:按照预定字符格式制作字符的位图,其中每个位图对应于一个字符或者多个字符;接着,建立字符与位图的字符位图映射表并存储位图。而在步骤S101中,接收到显示字符的请求而需要显示字符时,直接根据字符位图映射表查找与字符、需要显示的字符对应的位图。
需要说明的是,本实施方式所述的预定字符格式可以包括字符的大小、字体、颜色、背景,譬如大小为“5号”,字体为“宋体”,颜色为“红色”等等。此外,本实施方式所述的字符具体可以包括以下类型的字符中的至少一种:阿拉伯数字、英文字母、汉字、符合和特殊符号,譬如“1、2、3、a、b、c、d、正常、异常、δ、△、a1、1正常、δ2a”等类似的单个或组合的方式。相应地,位图可以为阿拉伯数字、英文字母、汉字、特殊符号和其中的任意组合,譬如“1、2、3、a、b、c、d、正常、异常、δ、△、a1、1正常、δ2a”等类似的单个或组合的方式。
举例而言,在数控系统中,对于轴坐标变化的“快速”字符,同一个显示位置的显示方式和字符的格式可以是固定的,即字符的大小、字体、对齐方式等是不变的,且显示的字符种类也是有限的,如数字0~9、大于10的数字、以及小数等,均是0~9的字符的排列组合。因此在数控系统中,要显示的字符是有限的、比较固定的组合。不难看出,本实施方式把这些有限的显示格式预先设置固定,每次刷新显示字符时即可以从至少一个显示格式表中自动/智能/默认选择合适的进行排列组合。同理,对于其他字符,本实施方式作类似处理即可,在本技术领域人员容易结合理解的范围内,不作赘述。
步骤S102,按照预定显示格式显示位图以响应显示字符的请求。
举例来说,预定显示格式可以包括:位图(字符)的对齐方式、缩放比例等内容。
在步骤S102中,本实施方式将查找到的位图按照预定显示格式进行显示,通过“抓取”“描画”的直接方式,将位图赋值描绘到显示屏上,而无需再重新计算字体的大小、对齐和布局等,减少计算过程对系统性能和资源的占用和影响。
值得注意的是,本实施方式可以采用一般的位图描画函数进行描画显示,譬如QTEmbedded的位图描画函数等,在此不作限定。
本实施方式使用位图的方式,具体采用位图列表存储映射关系的方式,将有限的字符以预定的字体、大小、背景显示格式等设置存储,而在需要更新显示字符、或刷新画面等时,将字符的字符串拆开成单独独立的、已经存储在位图列表里的图片格式的字符,就可以在显示屏合适的位置摆列描画出来。譬如“1、2、3、a、b、c、d、正常、异常、δ、△、a1、1正常、δ2a”等类似的单个或组合的字符方式。相应地,所描画的位图可以为阿拉伯数字、英文字母、汉字、符号和特殊符号,譬如“1、2、3、a、b、c、d、正常、异常、δ、△、a1、1正常、δ2a”等类似的单个或组合的方式。
本发明通过建立字符位图映射表,在需要显示字符时查找并按照预定显示格式显示与需要显示的字符对应的位图,从而避免了现有技术中需要显示字符时高频率地计算字符的大小、字符对齐的影响、字符所在位置布局的影响等情况所占用的系统资源问题,能够节省系统资源,避免影响其他功能,防止系统出现断续及反应慢等现象,有效地提高了用户体验。
需要指出的是,上述实施方式适用于大部分的面向对象编程的系统中,然而对于Qt Embedded系统来说,如果显示时采用QT Embedded的位图描画函数,在每次描画显示时,仍需要计算当前位图和其所在布局的位置影响,这种计算往往会占用大量的系统资源。此外,QTEmbedded系统对于描画显示的操作限定在系统的主线程中,即描画位图或者显示字符的操作必须放在和系统其它主要逻辑工作的同一个线程里,如果描画刷新的操作占用过多系统资源,会明显的影响到其它的逻辑操作,比如按键的响应速度会变慢等。
针对上述情况以解决上述技术问题,请参阅图2,图2是本发明字符显示方法第一具体实施方式的流程图,本实施方式字符显示方法包括但不限于以下几个步骤。
步骤S200,接收显示字符的请求。
步骤S201,从预存储的字符位图映射表中查找与需要显示的字符对应的位图。
其中,步骤S201请参阅前面实施方式步骤S101的相关描述,在本技术领域人员理解的范围内,不作赘述。
步骤S202,调用显示驱动内存Frame buffer对显示屏的像素点进行操作,以将位图填充在对应的Frame buffer位置上,进而以预定显示格式在显示屏上显示位图。
在步骤S202中,本实施方式Frame buffer将与需要显示的字符对应的位图按照预定显示格式进行显示,通过“抓取”“描画”的直接方式,将位图赋值描绘到显示屏上,而无需再重新计算字体的大小、对齐和布局等,减少计算过程对系统性能和资源的占用和影响。
本实施方式在需要更新显示字符、或刷新画面等时,通过Frame buffer操作将字符的字符串拆开成单独独立的、已经存储在位图列表里的图片格式的字符,就可以在显示屏合适的位置摆列描画出来。在本实施方式中,所描画的位图可以为以下类型的字符中的至少一种:阿拉伯数字、英文字母、汉字、符号和特殊符号,譬如“1、2、3、a、b、c、d、正常、异常、δ、△、a1、1正常、δ2a”等类似的单个或组合的方式。
需要说明的是,本实施方式通过使用Frame buffer操作,可以将描画位图或者显示字符等的操作放在和主线程并列的另一个线程(一般为副线程)里。不难理解的是,在QTEmbedded系统中,操作Frame buffer并不属于QT系统本身的功能,因此无需限制于主线程里,进一步而言,当操作Frame buffer放在另一个副线程之后,即使Frame buffer操作占用再多的资源,也不会干扰影响主线程里面的逻辑计算、响应回馈等,因此在很大程度上提高了系统的整体性能。
需要指出的是,在图2所述的实施方式中,由于采用了另一个线程(副线程)执行Frame buffer操作描画显示位图,因此需要保证系统主线程的显示字符的请求与副线程的Frame buffer操作同步,请参阅图3,图3是本发明字符显示方法第二具体实施方式的流程图,本实施方式字符显示方法包括但不限于以下几个步骤。
步骤S300,接收显示字符的请求。
步骤S301,将显示字符的请求发送至QT Embedded系统的副线程,以使副线程从预存储的字符位图映射表中查找与需要显示的字符对应的位图。
在步骤S301中,举例来说,S300中系统检测到需要显示字符时,可以首先产生并记录相应的字符显示请求。譬如当前字符显示为“209.23”,而下一时刻需要显示的字符为“210.55”,此时,系统产生并记录需要显示“210.55”的请求。
接着,在步骤S301中,在记录显示字符的请求后,向QT Embedded系统中的副线程发送有任务的唤醒。
在记录需要显示“210.55”的请求后,同时向副线程发送有所述“显示210.55”的唤醒,以备副线程进行跟进处理。
其中,副线程在被唤醒后,检查显示字符的请求。
当副线程的资源可提供工作服务时,受到唤醒并检查已记录的显示“210.55”的请求。
需要说明的是,步骤S301中如果请求为多个,则将所述显示字符的请求发送至字符显示任务队列;接着,向所述副线程发送有任务的唤醒,以使所述副线程检查所述字符显示任务队列,并按照先入先出的顺序执行所述字符显示任务队列中的请求。
不难看出,通过这种方式,可以记录保存所有显示字符的请求,避免因为双线程繁忙而导致无法响应显示字符的请求甚至漏掉其中一个或多个的显示字符的请求,有效地避免繁忙时无法响应或者漏掉显示字符的请求。
本实施方式可以预先进行设置:按照预定字符格式制作字符的位图;接着,建立字符与位图的字符位图映射表并存储位图。而在需要显示字符时,直接根据字符位图映射表查找与字符对应的位图。
需要说明的是,本实施方式所述的预定字符格式可以包括字符的大小、字体、颜色、背景,譬如大小为“5号”,字体为“宋体”,颜色为“红色”等等。此外,本实施方式所述的字符具体可以包括阿拉伯数字、英文字母、汉字、特殊符号和其中的任意组合,譬如“1、2、3、a、b、c、d、正常、异常、δ、△、a1、1正常、δ2a”等类似的单个或组合的方式。相应地,位图可以为阿拉伯数字、英文字母、汉字、特殊符号和其中的任意组合,譬如“1、2、3、a、b、c、d、正常、异常、δ、△、a1、1正常、δ2a”等类似的单个或组合的方式。
举例而言,在数控系统中,对于轴坐标变化的“快速”字符,同一个显示位置的显示方式可以是固定的,即字符的大小、字体、对齐方式等是不变的,且显示的字符种类也是有限的,如数字0~9、大于10的数字、以及小数等,均是0~9的字符的排列组合。因此在数控系统中,要显示的字符是有限的、比较固定的组合。不难看出,本实施方式把这些有限的显示格式预先设置固定,每次刷新显示字符时即可以从至少一个显示格式表中自动/智能/默认选择合适的进行排列组合。同理,对于其他字符,本实施方式作类似处理即可,在本技术领域人员容易结合理解的范围内,不作赘述。
步骤S302,副线程调用显示驱动内存帧缓冲Frame buffer对显示屏的像素点进行操作,以将位图填充在对应的Frame buffer位置上,进而以预定显示格式在显示屏上显示位图。
在步骤S302中,如前所述,副线程在被唤醒后,检查该字符显示任务队列,并按照先入先出的顺序处理多个显示字符的请求,直到依序将字符显示任务队列中的所有字符的位图都以预定显示格式在显示屏上描画显示。
综上所述,本发明实施方式的字符显示方法将字符映射为固定的位图,使得每次刷新显示时无需频繁地计算字体、大小、对齐等因素,同时,本发明通过Frame buffer操作避开QT Embedded对位图描画时对齐、布局等的计算,此外,本发明可以通过字符显示任务队列和主副线程的配合,提高响应效率并避免显示字符的请求的遗漏。结合上述多个实施方式,本发明可以有效地提高基于QT Embedded环境下的快速的字符显示的效率,同时,本发明能够有效地节省系统资源,避免影响其他功能,防止系统出现断续及反应慢等现象,改善了用户体验。
请参阅图4,图4是本发明字符显示系统第一实施方式的流程图,本实施方式提供一种可以用于面向对象编程,譬如基于QT Embedded的字符显示系统,本实施方式的字符显示系统包括但不限于接收模块40,查找模块41和描绘显示模块42。
接收模块40用于接收显示字符的请求。其中QT Embedded系统可以根据用户的具体操作、待显示列表等等方式而被动或主动地产生显示字符的请求。
在本实施方式中,查找模块41可以用于根据接收模块40接收的显示字符的请求,从预存储的字符位图映射表中查找与需要显示的字符对应的位图,以响应显示字符的请求。
其中,本实施方式可以预先进行设置:按照预定显示格式制作字符的位图;接着,建立字符与位图的字符位图映射表并存储位图。通过这种方式,查找模块41,在需要显示字符时,直接根据字符位图映射表查找与需要显示的字符对应的位图。
需要说明的是,本实施方式所述的预定显示格式可以包括字符的大小、字体、颜色、背景,譬如大小为“5号”,字体为“宋体”,颜色为“红色”等等。此外,本实施方式所述的字符具体可以包括阿拉伯数字、英文字母、汉字、特殊符号和其中的任意组合,譬如“1、2、3、a、b、c、d、正常、异常、δ、△、a1、1正常、δ2a”等类似的单个或组合的方式。相应地,位图可以为阿拉伯数字、英文字母、汉字、特殊符号和其中的任意组合,譬如“1、2、3、a、b、c、d、正常、异常、δ、△、a1、1正常、δ2a”等类似的单个或组合的方式。
举例而言,在数控系统中,对于轴坐标变化的“快速”字符,同一个显示位置的显示方式可以是固定的,即字符的大小、字体、对齐方式等是不变的,且显示的字符种类也是有限的,如数字0~9、大于10的数字、以及小数等,均是0~9的字符的排列组合。因此在数控系统中,要显示的字符是有限的、比较固定的组合。不难看出,本实施方式把这些有限的显示格式预先设置固定,每次刷新显示字符时即可以从至少一个显示格式表中自动/智能/默认选择合适的进行排列组合。同理,对于其他字符,本实施方式作类似处理即可,在本技术领域人员容易结合理解的范围内,不作赘述。
描绘显示模块42可以用于按照预定显示格式显示位图以响应显示字符的请求。本实施方式描绘显示模块42根据查找到的位图的预定显示格式进行显示,譬如通过“抓取”“描画”的直接方式,将位图赋值描绘到显示屏上,而无需再重新计算字体的大小、对齐和布局等,减少计算过程对系统性能和资源的占用和影响。
本实施方式使用位图的方式,具体采用位图列表存储映射关系的方式,将有限的字符以预定的字体、大小、背景显示格式等设置存储,而在需要更新显示字符、或刷新画面等时,将字符的字符串拆开成单独独立的、已经存储在位图列表里的图片格式的字符,就可以在显示屏合适的位置摆列描画出来。譬如“1、2、3、a、b、c、d、正常、异常、δ、△、a1、1正常、δ2a”等类似的单个或组合的字符方式。相应地,所描画的位图可以为阿拉伯数字、英文字母、汉字、特殊符号和其中的任意组合,譬如“1、2、3、a、b、c、d、正常、异常、δ、△、a1、1正常、δ2a”等类似的单个或组合的方式。
本发明通过建立字符位图映射表,在需要显示字符时查找显示预定显示格式的位图,从而避免了现有技术中需要显示字符时高频率地计算字符的大小、字符对齐的影响、字符所在位置布局的影响等情况所占用的系统资源问题,能够节省系统资源,避免影响其他功能,防止系统出现断续及反应慢等现象,有效地提高了用户体验。
请参阅图5,图5是本发明字符显示系统第二实施方式的流程图,本实施方式字符显示系统包括但不限于接收模块40、发送模块50、查找模块41、描绘显示模块42和显示屏43等。
需要说明的是,本实施方式字符显示系统可以为嵌入式图形化界面开发工具QTEmbedded系统。
接收模块40用于接收显示字符的请求。其中QT Embedded系统可以根据用户的具体操作、待显示列表等等方式而被动或主动地产生显示字符的请求。
在本实施方式中,发送模块50可以用于将所述显示字符的请求发送至QTEmbedded系统的副线程,以使所述副线程从预存储的字符位图映射表中查找与所述字符对应的位图;接着,副线程还用于调用显示驱动内存帧缓冲Frame buffer对显示屏的像素点进行操作,以将位图填充在对应的Frame buffer位置上,进而以预定显示格式在显示屏43上显示所述位图。
优选的,字符显示任务队列可以为多个并按时间先后顺序记录到字符显示任务队列中,发送模块50具体可以包括:第一发送子模块,用于将显示字符的请求发送至字符显示任务队列;第二发送子模块,用于向副线程发送有任务的唤醒,以使副线程检查所述字符显示任务队列,并按照先入先出的顺序执行所述字符显示任务队列中的请求。本实施方式通过主、副线程以及字符显示任务队列的方式,可以有效地保证系统主线程的显示字符的请求与副线程的Frame buffer操作同步。
描绘显示模块42具体用于调用显示驱动内存帧缓冲Frame buffe对显示屏43的像素点进行操作,以将位图填充在对应的Frame buffer位置上,进而以预定显示格式在显示屏43上显示位图。
不难理解的是,本实施方式通过使用Frame buffer操作,可以将描画位图或者显示字符等的操作放在和主线程并列的另一个线程(一般为副线程)里进行执行。不难理解的是,在QT Embedded系统中,操作Frame buffer并不属于QT系统本身的功能,因此无需限制于主线程里,进一步而言,当操作Frame buffer放在另一个副线程之后,即使Frame buffer操作占用再多的资源,也不会干扰影响主线程里面的逻辑计算、响应回馈等,因此在很大程度上提高了系统的整体性能。
此外,本实施方式字符显示系统的具体实现方式可以参阅前面实施方式字符显示方法的相关描述,在本技术领域人员容易结合理解的范围内,不再赘述。
本发明实施方式的字符显示系统将字符映射为固定的位图,使得每次刷新显示时无需频繁地计算字体、大小、对齐等,同时,本发明通过Frame buffer操作避开QT Embedded对位图描画时对齐、布局等的计算,此外,本发明可以通过字符显示任务队列和主副线程的配合,提高响应效率并避免显示字符的请求的遗漏。结合上述多个实施方式,本发明可以有效地提高基于QT Embedded环境下的快速字符显示的效率,同时,本发明能够有效地节省系统资源,避免影响其他功能,防止系统出现断续及反应慢等现象,改善了用户体验。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (7)

1.一种基于QT Embedded系统的字符显示方法,其特征在于,所述字符显示方法包括:
接收显示字符的请求;
从预存储的字符位图映射表中查找与需要显示的字符对应的位图;
按照预定显示格式显示所述位图以响应所述显示字符的请求;
其中,所述按照预定显示格式显示所述位图的步骤,具体包括:
调用显示驱动内存帧缓冲Frame buffer对显示屏的像素点进行操作,以将所述位图填充在对应的Frame buffer位置上,进而以所述预定显示格式在所述显示屏上显示所述位图;
所述从预存储的字符位图映射表中查找与需要显示的字符对应的位图的步骤包括:
将所述显示字符的请求发送至QT Embedded系统的副线程,以使所述副线程从预存储的字符位图映射表中查找与所述字符对应的位图;
所述按照预定显示格式显示所述位图以响应所述显示字符的请求包括:
所述副线程调用显示驱动内存帧缓冲Frame buffer对显示屏的像素点进行操作,以将所述位图填充在对应的Frame buffer位置上,进而以所述预定显示格式在所述显示屏上显示所述位图。
2.根据权利要求1所述的字符显示方法,其特征在于,所述将所述显示字符的请求发送至QT Embedded系统的副线程包括:
将所述显示字符的请求发送至字符显示任务队列;
向所述副线程发送有任务的唤醒,以使所述副线程检查所述字符显示任务队列,并按照先入先出的顺序执行所述字符显示任务队列中的请求。
3.根据权利要求1-2任一项所述的字符显示方法,其特征在于,所述从预存储的字符位图映射表中查找与需要显示的字符对应的位图的步骤之前,还包括:
按照预定字符格式制作字符的位图;
建立所述字符与所述位图的字符位图映射表并存储所述位图。
4.根据权利要求3所述的字符显示方法,其特征在于,所述预定字符格式包括所述字符的大小、字体、颜色,所述字符包括以下类型的字符中的至少一种:阿拉伯数字、英文字母、汉字、符号和特殊符号。
5.一种基于QT Embedded系统的字符显示系统,其特征在于,所述字符显示系统包括:
接收模块,用于接收显示字符的请求;
查找模块,用于从预存储的字符位图映射表中查找与需要显示的字符对应的位图;
描绘显示模块,用于按照预定显示格式显示所述位图以响应所述显示字符的请求;
其中,所述字符显示系统还包括:
发送模块,用于将所述显示字符的请求发送至QT Embedded系统的副线程,以使所述副线程从预存储的字符位图映射表中查找与所述字符对应的位图;
所述副线程还用于调用显示驱动内存帧缓冲Frame buffer对显示屏的像素点进行操作,以将所述位图填充在对应的Frame buffer位置上,进而以所述预定显示格式在所述显示屏上显示所述位图。
6.根据权利要求5所述的字符显示系统,其特征在于,所述描绘显示模块具体用于调用显示驱动内存帧缓冲Frame buffe对显示屏的像素点进行操作,以将所述位图填充在对应的Frame buffer位置上,进而以所述预定显示格式在所述显示屏上显示所述位图。
7.根据权利要求5所述的字符显示系统,其特征在于,
所述发送模块包括:
第一发送子模块,用于将所述显示字符的请求发送至字符显示任务队列;
第二发送子模块,用于向所述副线程发送有任务的唤醒,以使所述副线程检查所述字符显示任务队列,并按照先入先出的顺序执行所述字符显示任务队列中的请求。
CN201410386727.8A 2014-08-07 2014-08-07 基于QT Embedded系统的字符显示方法和系统 Active CN104199628B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410386727.8A CN104199628B (zh) 2014-08-07 2014-08-07 基于QT Embedded系统的字符显示方法和系统
PCT/CN2015/086103 WO2016019861A1 (zh) 2014-08-07 2015-08-05 基于QT Embedded系统的字符显示方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410386727.8A CN104199628B (zh) 2014-08-07 2014-08-07 基于QT Embedded系统的字符显示方法和系统

Publications (2)

Publication Number Publication Date
CN104199628A CN104199628A (zh) 2014-12-10
CN104199628B true CN104199628B (zh) 2019-08-27

Family

ID=52084926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410386727.8A Active CN104199628B (zh) 2014-08-07 2014-08-07 基于QT Embedded系统的字符显示方法和系统

Country Status (2)

Country Link
CN (1) CN104199628B (zh)
WO (1) WO2016019861A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104199628B (zh) * 2014-08-07 2019-08-27 北京配天技术有限公司 基于QT Embedded系统的字符显示方法和系统
CN105957136B (zh) * 2016-04-19 2019-05-07 广州视源电子科技股份有限公司 艺术字效果绘制方法及其系统
CN108196848B (zh) * 2018-01-08 2021-04-27 武汉斗鱼网络科技有限公司 界面嵌入显示方法、装置、用户终端及可读存储介质
CN109240628A (zh) * 2018-08-05 2019-01-18 深圳市技达信息技术有限公司 计算字符、字符串等的显示宽高的方法、装置及计算机可读存储介质
CN112198786B (zh) * 2020-04-27 2021-10-29 昇显微电子(苏州)有限公司 一种数字时钟的实现方法和装置
CN113183759A (zh) * 2021-07-01 2021-07-30 智道网联科技(北京)有限公司 一种仪表盘字符的显示方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5801720A (en) * 1996-02-20 1998-09-01 National Semiconductor Corporation Data transfer from a graphics subsystem to system memory
CN101271389A (zh) * 2008-04-08 2008-09-24 江苏科技大学 嵌入式藏文智能信息处理方法
CN101833936A (zh) * 2009-12-22 2010-09-15 康佳集团股份有限公司 一种移动终端及其界面的显示方法和装置
CN102662612A (zh) * 2012-02-29 2012-09-12 浪潮(北京)电子信息产业有限公司 使用Qt库显示MRC格式的图片文件的方法和系统
CN103678261A (zh) * 2013-12-26 2014-03-26 深圳市开立科技有限公司 一种快速显示ttf字体的方法、装置及设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104199628B (zh) * 2014-08-07 2019-08-27 北京配天技术有限公司 基于QT Embedded系统的字符显示方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5801720A (en) * 1996-02-20 1998-09-01 National Semiconductor Corporation Data transfer from a graphics subsystem to system memory
CN101271389A (zh) * 2008-04-08 2008-09-24 江苏科技大学 嵌入式藏文智能信息处理方法
CN101833936A (zh) * 2009-12-22 2010-09-15 康佳集团股份有限公司 一种移动终端及其界面的显示方法和装置
CN102662612A (zh) * 2012-02-29 2012-09-12 浪潮(北京)电子信息产业有限公司 使用Qt库显示MRC格式的图片文件的方法和系统
CN103678261A (zh) * 2013-12-26 2014-03-26 深圳市开立科技有限公司 一种快速显示ttf字体的方法、装置及设备

Also Published As

Publication number Publication date
WO2016019861A1 (zh) 2016-02-11
CN104199628A (zh) 2014-12-10

Similar Documents

Publication Publication Date Title
CN104199628B (zh) 基于QT Embedded系统的字符显示方法和系统
US8310491B2 (en) Asynchronous notifications for concurrent graphics operations
US8350864B2 (en) Serializing command streams for graphics processors
CN100407149C (zh) 父子应用集成的系统及方法
WO2021218751A1 (zh) 一种基于云手机的媒体数据处理方法以及终端设备
US8525841B2 (en) Batching graphics operations with time stamp tracking
US7898554B2 (en) Asymmetric two-pass graphics scaling
CN101202976A (zh) 移动通信终端字符转换装置及方法
JPS58195966A (ja) 多重タスク処理ワ−ド・プロセツサにおける使用者制御によるリソ−ス切換え方法
US8237723B2 (en) Deferred deletion and cleanup for graphics resources
CN102331935A (zh) 一种嵌入式跨系统软件开发平台
CN103019839A (zh) 一种文件快速显示方法、装置及终端
CN102637125A (zh) 宫格界面的显示方法及移动终端
CN101788797A (zh) 一种嵌入式人机界面组态信息编码方法
CN102023805B (zh) 一种软件界面文本信息的辅助浏览方法
CN102184076A (zh) 一种针对java程序的移动终端输入控制方法和装置
CN112130948A (zh) 显示控制方法及装置、计算机可读介质及电子设备
CN102184715B (zh) 一种基于融合通信终端的刷屏装置和方法
CN111414085A (zh) 一种麒麟移动操作系统的输入法运行方法、系统及介质
CN108241770B (zh) 一种基于反射内存网的消息响应分布式仿真方法
WO2021115212A1 (zh) 基于动态字库的显示方法、装置、存储介质及电子设备
CN113722037A (zh) 一种用户界面的刷新方法、装置、电子设备及存储介质
CN105930041B (zh) 一种基于液晶屏的菜单生成方法及装置
CN101847050A (zh) 一种嵌入式产品中简单中文的输入及显示方法
CN105513108A (zh) 一种基于纹理贴图的字库绘制方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant