一种基于控件属性的字符串自适应分割显示方法及系统技术方案

技术编号:20285092 阅读:71 留言:0更新日期:2019-02-10 17:44
本发明专利技术公开了一种基于控件属性的字符串自适应分割显示方法及系统,方法包括:S1.获取控件属性;S2.根据所述控件属性从待显示字符串中截取可由所述控件完整显示的字符子串,由所述控件显示所述字符子串;S3.以截取了字符子串后剩余字符组成的字符串为待显示字符串,重复执行步骤S1至S3,直到待显示字符串中的字符全部显示完毕。具有可自适应对文本内容进行分割,不会导致文本内容的漏显示,有效保证了文本内容的显示正确性、美观性,处理方法简单,从而大大降低对文本编辑格式要求等优点。

An Adaptive String Segmentation Display Method and System Based on Control Attributes

The invention discloses a method and system of string adaptive segmentation display based on control attributes, which includes: S1. Getting control attributes; S2. Intercepting a character substring that can be fully displayed by the control from the string to be displayed according to the control attributes, and displaying the character substring by the control; S3. Taking the string composed of the remaining characters after the character substring is intercepted as to be displayed. Show the string, repeat the execution of to S3 until all the characters in the string to be displayed are displayed. It has the advantages of self-adapting segmentation of text content, avoiding missing display of text content, effectively guaranteeing the correctness and beauty of text content display, simple processing method, and greatly reducing the requirement of text editing format.

【技术实现步骤摘要】
一种基于控件属性的字符串自适应分割显示方法及系统
本专利技术涉及UI界面控件文件显示
,尤其涉及一种基于控件属性的字符串自适应分割显示方法及系统,特别是适用于轨道交通车辆上显示设备对文本内容的显示。
技术介绍
显示器是轨道交通车辆上直接指导司乘人员行车的重要设备,目前机车、地铁、城轨等车辆的显示器界面一部分是基于FLTK工具进行开发的,界面中许多信息,特别是文字提示,直接为司乘人员提供了最重要的信息。比如,故障处理信息界面中包括故障描述、故障原因分析、司机处理措施、售后人员处理措施,并且司机/售后服务人员处理措施描述文字较多。由于FLTK控件宽度大小有限,并且显示的文字不能自动换行,如果需显示的文字总宽度超过控件自身宽度,则会出现文字显示不全的问题。目前利用FLTK开发工具开发的界面中,针对文字显示主要有两种处理方法。一种是在用于显示的文本文件中将每条信息固定分为相等的行数,如果实际字符不能占用所有行数,则用空格来填充,以确保在固定宽度,且数目与所分行数相同的控件中能显示下所有文字;另一种是在文本文档中的每条信息中插入特定的字符作为换行标签,以保证在具有合适高度的控件中能根据控件宽度换行显示。但是,由于中文字符、英文字符、标点符号的显示宽度不相同,并且不同的英文字符、标点符号的显示宽度也不相同,现有的方法仍然不能很好的实现对文本内容的显示。
技术实现思路
本专利技术要解决的技术问题就在于:针对现有技术存在的技术问题,本专利技术提供一种可自适应对文本内容进行分割,不会导致文本内容漏显示,可保证文本内容显示的正确性、美观性,处理方法简单,可大大降低对文本编辑格式要求的基于控件属性的字符串自适应分割显示方法及系统。为解决上述技术问题,本专利技术提出的技术方案为:一种基于控件属性的字符串自适应分割显示方法,包括如下步骤:S1.获取控件属性;S2.根据所述控件属性从待显示字符串中截取可由所述控件完整显示的字符子串,由所述控件显示所述字符子串;S3.以截取了字符子串后剩余字符组成的字符串为待显示字符串,重复执行步骤S1至S3,直到待显示字符串中的字符全部显示完毕。作为本专利技术的进一步改进,所述控件属性包括控件宽度、显示字体类型、显示字体大小。作为本专利技术的进一步改进,步骤S2的具体步骤包括:S2.1.按照先后顺序依次从待显示字符串中读取字符,根据所述显示字体类型和显示字体大小确定所述字符的宽度,并计算已读取出字符的总宽度;S2.2.根据总宽度小于所述控件宽度的规则确定截取位置;S2.3.根据所述截取位置从所述待显示字符串中截取字符子串;S2.4.由所述控件显示所述字符子串。作为本专利技术的进一步改进,所述截取位置为以满足总宽度小于等于控件宽度条件的最大宽度所确定的已读取字符为字符子串的截取位置。作为本专利技术的进一步改进,所述步骤S2.2后,还包括步骤S2.2a:分析所述截取位置的字符情况,对所述截取位置进行调整,所述调整包括:第一调整方式:当所述截取位置向前的第一个字符为英文字符,且所述截取位置向前的第一个字符为预设的特定字符时,将所述截取位置向前移动一个字符位置;所述向前为向待显示字符串开始的方向,所述向后为向待显示字符串结束的方向。作为本专利技术的进一步改进,所述特定字符包括标点符号和空格。作为本专利技术的进一步改进,步骤S2.2a中所述调整还包括:第二调整方式:当所述截取位置向前的第一个字符、向前的第二个字符、以及向后的第一个字符均为英文字符,则将所述截取位置向前移动一个字符位置;在所述步骤S2.3之后,还包括步骤S2.3a:根据对所述截取位置进行调整的情况,修正所述字符子串;所述修正具体包括:当采用第二调整方式时,在所述字符子串的最后一个字符后面增加连接符。作为本专利技术的进一步改进,所述控件为FLTK控件,所述字符串为UTF-8编码格式字符串。一种基于控件属性的字符串自适应分割显示系统,包括:第一模块:用于获取控件属性;第二模块:用于根据所述控件属性从待显示字符串中截取可由所述控件完整显示的字符子串,由所述控件显示所述字符子串;第三模块:用于以截取了字符子串后剩余字符组成的字符串为待显示字符串,重复调用所述第一模块和第二模块,直到待显示字符串中的字符全部显示完毕。作为本专利技术的进一步改进,所述控件属性包括控件宽度、显示字体类型、显示字体大小。作为本专利技术的进一步改进,所述第二模块包括:一号子模块:用于按照先后顺序依次从待显示字符串中读取字符,根据所述显示字体类型和显示字体大小确定所述字符的宽度,并计算已读取出字符的总宽度;二号子模块:用于根据总宽度小于所述控件宽度的规则确定截取位置;三号子模块:根据所述截取位置从所述待显示字符串中截取字符子串;四号子模块:由所述控件显示所述字符子串。作为本专利技术的进一步改进,所述第二模块还包括:五号子模块:用于分析所述截取位置的字符情况,对所述截取位置进行调整,所述调整包括:第一调整方式:当所述截取位置向前的第一个字符为英文字符,且所述截取位置向前的第一个字符为预设的特定字符时,将所述截取位置向前移动一个字符位置;所述向前为向待显示字符串开始的方向,所述向后为向待显示字符串结束的方向。作为本专利技术的进一步改进,所述特定字符包括标点符号和空格。作为本专利技术的进一步改进,所述五号子模块还用于执行第二调整方式:当所述截取位置向前的第一个字符、向前的第二个字符、以及向后的第一个字符均为英文字符,则将所述截取位置向前移动一个字符位置;所述第二模块还包括:六号子模块:用于根据对所述截取位置进行调整的情况,修正所述字符子串;所述修正具体包括:当采用第二调整方式时,在所述字符子串的最后一个字符后面增加连接符。与现有技术相比,本专利技术的优点在于:1、本专利技术根据控件的控件宽度、显示字体类型、显示字体大小属性,来对待显示字符串进行自适应分割处理再分行显示,不仅可以充分利用控件宽度大小来进行文字显示,而且不会出现文字的漏显问题,保证了文字显示的正确性、美观性。2、本专利技术在实际实现过程中,只需要知道控件名称,就能自动获取控件属性,进而自动对需要显示的原始文字串进行自适应分割处理,这使得对文本编辑格式的要求大大降低,进而大大降低了对文本编辑的处理时间。3、本专利技术采用自适应的分割方法,处理过程简单,针对不同类型的文字、不同的显示字体类型、不同的显示字体大小都能很好的适应,使用者在使用控件显示文本内容时,只需要提供待显示的文本内容,而不需要关心文本内容的格式,都能获得良好的显示效果。附图说明图1为本专利技术具体实施例流程示意图。图2为本专利技术具体实施例实施示意图。图3为本专利技术具体实施例结构示意图。具体实施方式以下结合说明书附图和具体优选的实施例对本专利技术作进一步描述,但并不因此而限制本专利技术的保护范围。实施例1:如图1所示,本实施例的基于控件属性的字符串自适应分割显示方法,包括如下步骤:S1.获取控件属性;S2.根据控件属性从待显示字符串中截取可由控件完整显示的字符子串,由控件显示字符子串;S3.以截取了字符子串后剩余字符组成的字符串为待显示字符串,重复执行步骤S1至S3,直到待显示字符串中的字符全部显示完毕。控件属性包括控件宽度、显示字体类型、显示字体大小。在本实施例中,如图2所示,列车显示设备的UI界面具有多个FLTK(FastLightT本文档来自技高网...

【技术保护点】
1.一种基于控件属性的字符串自适应分割显示方法,其特征在于,包括如下步骤:S1. 获取控件属性;S2. 根据所述控件属性从待显示字符串中截取可由所述控件完整显示的字符子串,由所述控件显示所述字符子串;S3. 以截取了字符子串后剩余字符组成的字符串为待显示字符串,重复执行步骤S1至S3,直到待显示字符串中的字符全部显示完毕。

【技术特征摘要】
1.一种基于控件属性的字符串自适应分割显示方法,其特征在于,包括如下步骤:S1.获取控件属性;S2.根据所述控件属性从待显示字符串中截取可由所述控件完整显示的字符子串,由所述控件显示所述字符子串;S3.以截取了字符子串后剩余字符组成的字符串为待显示字符串,重复执行步骤S1至S3,直到待显示字符串中的字符全部显示完毕。2.根据权利要求1所述的基于控件属性的字符串自适应分割显示方法,其特征在于:所述控件属性包括控件宽度、显示字体类型、显示字体大小。3.根据权利要求2所述的基于控件属性的字符串自适应分割显示方法,其特征在于:步骤S2的具体步骤包括:S2.1.按照先后顺序依次从待显示字符串中读取字符,根据所述显示字体类型和显示字体大小确定所述字符的宽度,并计算已读取出字符的总宽度;S2.2.根据总宽度小于所述控件宽度的规则确定截取位置;S2.3.根据所述截取位置从所述待显示字符串中截取字符子串;S2.4.由所述控件显示所述字符子串。4.根据权利要求3所述的基于控件属性的字符串自适应分割显示方法,其特征在于:所述截取位置为以满足总宽度小于等于控件宽度条件的最大宽度所确定的已读取字符为字符子串的截取位置。5.根据权利要求4所述的基于控件属性的字符串自适应分割显示方法,其特征在于:所述步骤S2.2后,还包括步骤S2.2a:分析所述截取位置的字符情况,对所述截取位置进行调整,所述调整包括:第一调整方式:当所述截取位置向前的第一个字符为英文字符,且所述截取位置向前的第一个字符为预设的特定字符时,将所述截取位置向前移动一个字符位置;所述向前为向待显示字符串开始的方向,所述向后为向待显示字符串结束的方向。6.根据权利要求5所述的基于控件属性的字符串自适应分割显示方法,其特征在于:所述特定字符包括标点符号和空格。7.根据权利要求6所述的基于控件属性的字符串自适应分割显示方法,其特征在于:步骤S2.2a中所述调整还包括:第二调整方式:当所述截取位置向前的第一个字符、向前的第二个字符、以及向后的第一个字符均为英文字符,则将所述截取位置向前移动一个字符位置;在所述步骤S2.3之后,还包括步骤S2.3a:根据对所述截取位置进行调整的情况,修正所述字符子串;所述修正具体包括:当采用第二调...

【专利技术属性】
技术研发人员:李凯饶天贵胡士杰黄赫曾升唐志阳李黄河
申请(专利权)人:株洲中车时代电气股份有限公司
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1