一种数据显示方法、计算设备及可读存储介质与流程

文档序号:27316271发布日期:2021-11-09 23:56阅读:89来源:国知局
一种数据显示方法、计算设备及可读存储介质与流程

1.本发明涉及计算机领域,尤其涉及一种数据显示方法、计算设备及可读存储介质。


背景技术:

2.目前,大多数应用程序需要显示一些例如快捷键、配置数据等信息,这些信息一般为键值对形式。已有技术中,键值对的显示方法如下:首先加载并解析需要显示的数据文件,从中获取不同类型的字段,根据字段类型分配预定大小的字体、预定颜色值或字段之间的预定间隔,并且按照从左到右的顺序将内容显示完毕,通过该方法显示的数据,数据之间的间距均匀,布局方式统一且简单。但是,已有方法只能在数据文件中修改键值对的内容,修改效率低下。
3.为此,亟需一种新的数据显示方法以解决上述问题。


技术实现要素:

4.为此,本发明提供了一种数据显示方法、计算设备及可读存储介质,以力图解决或者至少缓解上面存在的问题。
5.一种数据显示方法,适于在计算设备中执行,方法包括:在显示界面显示结构化数据中的元素结构化数据;响应在显示界面调整已显示元素的操作,获取已显示元素的坐标、原内容和调整后的内容;将结构化数据中对应的原内容更新为调整后的内容;将显示界面中、与已显示元素坐标对应的内容更新调整后的内容。
6.可选地,结构化数据中的元素包括键值对集合名称、键值对条目,结构化数据通过如下方式得到:获取原显示数据中键值对集合名称;确定各键值对集合中每个键值对的高度像素值、键、键的字符长度、键值、键值的字符长度,作为一个键值对条目;将键值对集合名称、键值对条目转换为预设格式的数组,得到结构化数据。
7.可选地,还包括步骤:从结构化数据中读取元素,已读取元素为键值对条目或键值对集合名称;根据已读取元素的信息和预设布局参数确定已读取元素的纵坐标,将已读取元素和其纵坐标关联存储至纵坐标容器中;根据已读取元素的信息和预设布局参数确定已读取元素的横坐标,将已读取元素和其横坐标关联存储至横坐标容器中。
8.可选地,预设布局参数包括初始纵坐标、相邻行元素之间的间隔像素值、横坐标轴与画布上边界的间隔像素值,根据已读取元素的信息和预设布局参数确定已读取元素的纵坐标的步骤包括:判断已读取元素是否为各列的第一个元素,若是,则已读取元素的纵坐标为初始纵坐标;若否,当已读取元素为键值对数组时,对应的键和键值的纵坐标相同,根据如下公式确定已读取元素的纵坐标:其中,y为已读取元素的纵坐标,starty为初始纵坐标,l[x]为已读取元素的像素高度值, s1为相邻行元素之间的间隔像素值,z为横坐标轴与画布上边界的间隔像素值。
[0009]
可选地,当已读取元素为键值对集合名称时,还包括步骤:
判断已读取元素是否为各列的最后一个元素,若是,则已读取元素的纵坐标为初始纵坐标;若否,根据如下公式确定已读取元素的纵坐标: 。
[0010]
可选地,相邻行元素之间的间隔像素值包括已读取元素与相邻下一行元素的间隔像素值、已读取元素与相邻上一行元素的间隔像素值。
[0011]
可选地,其中,预设布局参数还包括初始横坐标、相邻列之间的间隔像素值,根据预设布局参数确定已读取元素的横坐标的步骤包括:判断已读取元素是否处于初始横坐标处,若是,那么已读取元素的横坐标为所述初始横坐标;若否,则根据如下公式确定所述已读取元素的横坐标:其中,xt为已读取元素的横坐标,x(t

1)为与所述已读取元素相邻列中元素的横坐标,x(t

1).width为与已读取元素邻列中元素的最大像素宽度值,s2为相邻列之间的间隔像素值。
[0012]
可选地,当已读取元素为键值对的条目时,相邻列之间的间隔像素值包括相邻键的列和键值的列之间的间隔像素值、相邻键值的列与键的列之间的间隔像素值。
[0013]
可选地,在显示界面显示结构化数据中的各个元素的步骤包括:从纵坐标容器中获取与已读取元素相关联的纵坐标;从横坐标容器中读取与已读取元素相对应的横坐标;在画布中与已读取元素的横坐标、纵坐标相同位置处绘制已读取元素的内容,以在显示窗口显示已读取元素。
[0014]
可选地,当已读取元素为键值对条目时,显示的已读取元素的内容包括键和键值,方法还包括步骤:为显示窗口中一组键和键值分配一个网格区域;按照预设规则为每个网格区域绘制颜色,预设规则为相邻的网格区域绘制不同的颜色。
[0015]
可选地,按照预设规则为每个网格区域绘制颜色的步骤包括:确定每个网格区域的列号和行号;判断每个网格区域的列号和行号的奇偶性是否相同,若相同,为当前网格区域绘制第一颜色,若不同,为当前网格区域绘制第二颜色。
[0016]
可选地,响应在所述显示界面调整已显示元素的操作,获取已显示元素的坐标和调整后的内容的步骤包括:响应在显示窗口调整网格区域内容的操作,获取已显示元素的坐标、调整后的内容。
[0017]
可选地,调整网格区域内容的操作包括撤销操作,方法还包括步骤:响应调整网格区域内容的操作,生成操作事件;将操作事件存储至事件容器中;响应撤销操作,从事件容器中获取最近一次的操作事件,得到与操作事件对应的网格区域的原内容;将结构化数据中、与最近一次的操作事件所对应的内容更新为原内容;将与最近一次的操作事件所对应网格区域的内容更新为原内容。
[0018]
可选地,调整网格区域内容的操作还包括交换两个网格区域内容的操作、修改网格区域内容的操作、删除网格区域内容的操作。
[0019]
根据本发明的又一个方面,提供一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,程序指令被配置为适于由至少一个处理器执行,程序指令包括用于执行如上所述方法的指令。
[0020]
根据本发明的又一个方面,提供一种存储有程序指令的可读存储介质,当程序指
令被计算设备读取并执行时,使得计算设备执行如上所述的方法。
[0021]
根据本发明的数据显示方法,包括:在显示界面显示结构化数据中的元素, 响应在显示界面调整已显示元素的操作,获取已显示元素的坐标和调整后的内容,将结构化数据中对应的内容更新为调整后的内容,将显示界面中、与已显示元素坐标对应的内容更新调整后的内容。由上述内容可知,本发明中,可在显示界面直接调整键值对内容,而无需去数据文件中修改,提高了数据修改的效率,并根据调整后的数据实时更新显示界面的内容,提高了数据修改的灵活性和便利性。
附图说明
[0022]
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
[0023]
图1示出了根据本发明一个实施例的计算设备100的结构框图;图2示出了根据本发明一个实施例的数据显示方法200的流程图;图3示出了根据本发明一个实施例的布局参数的示意图;图4示出了根据本发明一个实施例的确定结构化数据中各元素坐标的方法400的流程图;图5示出了根据本发明一个实施例的显示界面的示意图;图6示出了根据本发明一个实施例的网格区域的编号的示意图;图7示出了根据本发明另一个实施例的显示界面的示意图;图8示出了根据本发明又一个实施例的显示界面的示意图。
具体实施方式
[0024]
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0025]
键值对,键值对存储是数据库最简单的组织形式,一个键值对包括键和键值,键为存储的键值的标识,键值为存放的数据,例如,快捷键中,键:退出,值:esc(esc为退出的快捷键)。目前,大多数应用程序需要显示一些例如快捷键、配置数据等信息,这些信息一般为键值对形式。
[0026]
已有技术中,键值对的显示方法为:首先加载并解析需要显示的数据文件,从中获取不同类型的字段,根据字段类型分配预定大小的字体、预定颜色值或字段之间的预定间隔,并且按照从左到右的顺序将内容显示完毕,但是,该方法无法在显示界面修改键值对的内容,只能在数据文件中修改键值对的内容,但是在数据文件中修改键值对的内容,效率低下。
[0027]
为此,本发明提出了一种数据显示方法,该方法在计算设备中执行。图1示出了根
据本发明一个实施例的计算设备100的结构图。计算设备100的框图如图1所示,在基本配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
[0028]
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(
µ
p)、微控制器(
µ
c)、数字信息处理器(dsp)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(alu)、浮点数单元(fpu)、数字信号处理核心(dsp核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
[0029]
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如ram)、非易失性存储器(诸如rom、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上利用程序数据124进行操作。程序数据124包括指令,在根据本发明的计算设备100中,程序数据124包含用于执行数据显示方法200和确定结构化数据中各元素坐标的方法400的指令。
[0030]
计算设备100还包括储存设备132,储存设备132包括可移除储存器136和不可移除储存器138,可移除储存器136和不可移除储存器138均与储存接口总线134连接。本发明中,程序执行过程中发生的各事件的相关数据和指示各事件发生的时间信息,可存储于储存设备132中,操作系统120适于管理储存设备132。其中,储存设备132可为磁盘。
[0031]
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图像处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个a/v端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个i/o端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
[0032]
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(rf)、微波、红外(ir)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
[0033]
计算设备100可以实现为服务器,例如文件服务器、数据库服务器、应用程序服务器和web服务器等,也可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、个人数字助理(pda)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。计算设备100还可以实
itemname length": " "," value length": " "," height2": " "}{ "itemname": "获取全屏", "value":" printscreen ", " itemname length": " "," value length": " "," height2": " "}{ "itemname": "复制到粘贴板","value":" ctrl+c ", " itemname length": " "," value length": " "," height2": " "}]"退出/保存": [{ "itemname": "退出", "value":" esc ", " itemname length": " "," value length": " "," height2": " " },{ "itemname": "保存", "value":" ctrl+ s ", " itemname length": " "," value length": " "," height2": " "},]]}]另外,还需计算各键值对集合名称的像素宽度值(mwidth)、键值对的键占据的像素宽度值(nwidth)、键值所占据的像素宽度值(vwidth),假设单个字符所占像素值的大小为f,那么mwidth为name length与f的乘积,键值对的nwidth为itemname length与f的乘积,vwidth为value length与f的乘积,并将键值对集合名称和对应的mwidth关联存储、键和对应的nwidth关联存储、键值和对应的vwidthgu关联存储,存储的方式可根据实际应用场景进行设置,本发明对存储方式不进行限制,例如,存储至本地、内存、与当前计算设备通信连接的数据库等。f可根据实际应用场景进行设置,本发明对此不做限制。在一个实施方式在中,令height2为f,为了更好的区分键值对集合名称和键、键值,令height1大于f,具体值可以根据实际应用场景进行设置,本发明对此不进行限制。
[0039]
例如,键值对集合名称启动/截图、该键值对集合中包括的五个键值对的键(分别为:快速启动截图、光标所在窗口截图、延时5秒截屏、获取全屏、复制到粘贴板),字符长度分别为:5、6、8、6、4、6,mwidth、nwidth分别为:5f、6f、8f、6f、4f、6f。启动/截图键值对集合中包括的五个键值对的键值(分别为:ctrl+alt+a、alt+printscreen、ctrl+ printscreen、printscreen、ctrl+c),字符长度分别为:10、15、16、11、6,vwidth分别为:10f、15f、16f、11f、6f。键值对集合名称退出/保存、该键值对集合中的两个键值对的键(分别为:退出、保存)的字符长度分别为:5、2、2,mwidth、nwidth分别为:5f、2f、2f。退出/保存键值对集合中的两个键值对的键值(分别为:esc、ctrl+ s)的字符长度分别为:3、6,vwidth分别为:3f、6f。
[0040]
对原显示数据进行预处理,得到结构化数据后,继续执行步骤s230,确定结构化数据中各元素的坐标,其中,结构化数据中的键值对集合名称、上述的任一条目均可理解为一个元素,进一步地,条目中键值对的键、键值也可理解为一个元素。
[0041]
在一个实施方式中,本发明按照下述规则进行布局:键值对的键和键值布局在不同的列,键值对集合中包括的所有键值对的键布局在同一列,键值对集合中包括的所有键值对的键值布局在同一列,键值对的键、键值位于同一行,且键值对的键和键值的列是相邻
的。键值对集合名称和其包括的所有键值对的键显示在同一列,且键显示在键值对集合名称之后。若当前列余下的像素高度值小于待显示的键值对集合名称以及其包括的所有键值对的键的像素高度值之和,那么键值对集合名称以及其包括的所有键值对的键均显示在下一列,各列的第一个元素均为键值对集合名称。
[0042]
由上述内容可知,键值对的键和键值显示在不同的列,而同一列中元素的横坐标是相同的,那么同一列中,只需计算一个元素的横坐标即可得到该列中所有元素的横坐标。此外,键值对的键、键值是在同一行,即,键值对的键、键值的纵坐标相同,因此计算键值对的键、键值的纵坐标时,只需计算出键值对的键的纵坐标即可得到键值的纵坐标,或者,只需计算出键值对的键值的纵坐标即可得到键的纵坐标。
[0043]
本发明中还会预设一些布局参数,如图3所示,预设布局参数可以包括初始纵坐标starty、初始横坐标startx、相邻行元素之间的间隔像素值s1、横坐标轴与画布上边界的间隔像素值z、相邻列之间的间隔像素值 s2、与已读取元素相邻列中元素的横坐标x(t

1)的初始值、与已读取元素相邻列中元素的最大像素宽度值 x(t

1).width的初始值。
[0044]
其中,初始纵坐标starty、初始横坐标startx均为0,s1包括:键值对集合名称与相邻下一行键的间隔像素值m、键值对集合名称与相邻上一行键的间隔像素值v、键与相邻下一行键的间隔像素值b。 s2包括相邻键的列和键值的列之间的间隔像素值w、相邻键值的列与键的列之间的间隔像素值k。当已读取元素为第一列元素时,x(t

1).width初始值为0、x(t

1)初始值为0。预设参数中各参数值可以根据实际应用场景进行设置,本发明对此不进行限制。
[0045]
按照上述布局规则和预设布局参数,下面对步骤s230进行详细说明。
[0046]
图4示出了根据本发明一个实施例的确定结构化数据中各元素坐标的方法400的流程图,图4包括步骤s2301

步骤s2303,在步骤s2301中,从结构化数据中读取一个元素。需要说明的是,已读取元素可以为键值对集合名称,那么该元素的信息即为键值对集合的名称、height1和name length,已读取元素还可以为一个条目,那么该元素的信息即为条目包括的内容,即元素的信息包括itemname、itemname length、value、value length和height2。当已读取元素为条目时,相当于已读取元素为键值对的键和键值。
[0047]
接着执行步骤s2302,确定已读取元素的纵坐标,并将已读取元素和其纵坐标关联存储至纵坐标容器中。具体地,判断已读取元素是否为各列的第一个元素,若是,则已读取元素的纵坐标为starty,即,已读取元素的纵坐标为0。若否,当已读取元素为条目时,条目中的键和键值的纵坐标相同,根据如下公式确定已读取元素(键、键值)的纵坐标:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)其中,y为已读取元素的纵坐标,l[x]为已读取元素的像素高度值,l[x]=l[x

1]+height+s1,其中, l[x

1]为相邻上一行元素的像素高度值,height包括height1和height2,令l[0]=z+height,即每一列中第一个元素的像素高度值为 z+height,将 l[0]存储至像素高度值容器中。
[0048]
当已读取元素为键值对集合名称时,判断已读取元素是否为各列的最后一个元素,若是,则已读取元素的纵坐标为初始纵坐标,即,若一列中最后一个元素为键值对集合名称时,那么将该键值对集合名称存储至下一列的第一行,即,将键值对集合名称、和其包括的所有键值对的键布局至新一列中。若已读取键值对集合名称不是各列的最后一个元
素,那么判断当前列中画布剩余像素高度值是否大于或等于显示键值对集合名称和该键值对集合中所有键值对的所需的像素高度值,若是,则根据格式(1)计算各元素的纵坐标,若否,则将已读取键值对集合名称、及该键值对集合中所有键和键值布局在下一列中,此时已读取键值对集合名称仍为当前列的第一个元素,即,已读取元素的纵坐标为初始纵坐标0。
[0049]
下面以快捷键数据为例,给出一个计算已读取元素纵坐标的示例:例如,当前读取的元素为键值对集合名称启动/截图,那么启动/截图键值对集合的信息包括名称启动/截图、height1,且其为第一列的第一个元素,那么其纵坐标为0、l[0]=z+height1,将启动/截图和其纵坐标0关联存储至纵坐标容器中,并将启动/截图的 l[0]=z+height1存储至像素高度值容器中。
[0050]
接着,读取启动/截图键值对集合的第一个键值对的条目,那么通过该条目的信息即可确定当前读取元素的键、键值、高度像素值分别为快速启动截图、ctrl+alt+a、height2,将键

快速启动截图与键值对集合名称启动/截图布局在一列,且键在键值对集合名称启动/截图之后,那么此时的s1为m、height为height2。键

快速启动截图的纵坐标 y=starty+l[1]+m

z,l[1]= l[0]+height2+m,l[0]=z+height1,那么,键

快速启动截图的 l[1]= z+height1+height2+m,因此,y=0+z+height1+height2+m+m

z,即,y= height1+height2+2m,将键

快速启动截图和其纵坐y= height1+height2+2m关联存储至纵坐标容器中,并将键

快速启动/截图的l[1]= z+height1+height2+m存储至像素高度值容器中。
[0051]
由于键值

ctrl+alt+a则与键

快速启动截图位于同一行,即键值

ctrl+alt+a则与键

快速启动截图的y和l[x]相同,因此,与键

快速启动截图位于同一行的键值

ctrl+alt+a的y、l[1]分别为y= height1+height2+2m、l[1]= z+height1+height2+m,将键值

ctrl+alt+a和其纵坐标 y= height1+height2+2m关联存储至纵坐标容器中,并将键值

ctrl+alt+a的 l[1]= z+height1+height2+m存储至像素高度值容器中。
[0052]
之后,读取启动/截图键值对集合的第二个键值对的条目,那么通过该条目的信息即可确定当前读取元素的键、键值、高度像素值分别为光标所在窗口截图、alt+printscreen、height2,将键

光标所在窗口截图与键值对集合名称启动/截图布局在一列,且位于键

快速启动截图下一个相邻的行,那么此时的s1为b、height为height2。键

光标所在窗口截图的纵坐标y=starty+l[2]+b

z,l[2]= l[1]+ height2+b,此处的l[1]= z+height1+height2+m,那么,键

光标所在窗口截图的l[2]=z+height1+2height2+m+b,因此,y=0+z+height1+2height2+m+b+b

z,即,y=height1+2height2+m+2b,将键

光标所在窗口截图和其纵坐标 y=height1+2height2+m+2b关联存储至纵坐标容器中,并将键

光标所在窗口截图的 l[2]= z+height1+2height2+m+b 存储至像素高度值容器中。
[0053]
由于键值
‑ꢀ
alt+printscreen则与键

光标所在窗口截图位于同一行,即键值
‑ꢀ
alt+printscreen则与键

光标所在窗口截图的y和 l[x]相同,因此,键值

alt+printscreen的y、 l[2]分别为y=height1+2height2+m+2b、l[2]= z+height1+2height2+m+b,将键值

alt+printscreen和其纵坐标y=height1+2height2+m+2b关联存储至纵坐标容器中,并将键值

alt+printscreen的l[2]= z+height1+2height2+m+b存储至像素高度值容器中。
[0054]
依此类推,直至得到启动/截图键值对集合的最后一个键值对的键

复制到粘贴板的y=height1+5height2+m+5b、l[5]= z+height1+5height2+m+4b,将键

复制到粘贴板和其
纵坐标y=height1+5height2+m+5b关联存储至纵坐标容器中,并将键

复制到粘贴板的 l[5]= z+height1+5height2+m+4b存储至像素高度值容器中。
[0055]
此时,与复制到粘贴板位于同一行的键值
‑ꢀ
ctrl+c的y、l[5]分别为y=height1+5height2+m+5b、l[5]= z+height1+5height2+m+4b,将键值

ctrl+c和其纵坐标y=height1+5height2+m+5b关联存储至纵坐标容器中,并将键值ctrl+c的 l[5]= z+height1+5height2+m+4b存储至像素高度值容器中。
[0056]
得到启动/截图键值对集合的所有键值对的y和 l[x]之后,根据画布的像素高度值和 l[5]之差得到剩余的像素高度值,并读取下一个键值对集合名称退出/保存,该键值对包括两个键值对,分别为:退出

esc、保存

ctrl+ s,根据height2、height1、s1、s2,确定键值对集合名称退出/保存、其包括的所有键值对的键的像素高度值,若该像素值小于或等于剩余的像素高度值,那么通过公式(1)计算值对集合名称退出/保存、其包括的所有键值对的键和键值的y和 l[x],计算过程如上所述,此处不再赘述。
[0057]
若该像素值大于剩余的像素高度值,则将退出/保存键值对集合设置在新的一列中,此时退出/保存键值对集合名称为当前列的第一个元素,即,键值对集合名称退出/保存的纵坐标为0、l[x]=l[0],而退出/保存键值对集合的键、键值的y和l[x]的计算过程如上所述,此处不再赘述。其中,新一列是与启动/截图键值对集合中所有键值对的键值相邻的列,此处即为键值对集合名称和键布局在第三列、键值布局在第四列。
[0058]
最后,执行步骤s2303,确定已读取元素的横纵坐标,并将已读取元素和其横坐标关联存储至横坐标容器中。具体地,判断已读取元素是否处于初始横坐标处,若是,那么已读取元素的横坐标为初始横坐标,若否,则根据如下公式确定已读取元素的横坐标:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中,xt为已读取元素的横坐标。由于键值对集合中包括的所有键值对的键或键值布局在同一列,同一列的元素横坐标相同。因此,只需计算当前列中任一元素的xt,即可得到当前列中所有元素的xt。
[0059]
下面以快捷键数据为例,给出一个计算已读取元素横坐标的示例:首先,确定键值对集合名称、其包括的所有键值对的键的横坐标。
[0060]
例如,当前读取的元素为键值对集合名称启动/截图,那么启动/截图键值对集合的信息包括名称启动/截图,且其为第一列的第一行元素,那么其横坐标为startx,即横坐标为0,将启动/截图和其横坐标0关联存储至横坐标容器中,并查找与启动/截图对应的mwidth。由于同一列中元素的横坐标相等,且由上述布局规则可知,一个键值对集合的所有键和键值对集合名称布局在同一列中。因此,继续读取启动/截图键值对集合包括的所有条目,那么通过条目的信息即可确定启动/截图键值对集合中包括的五个键值对的键(分别为:快速启动截图、光标所在窗口截图、延时5秒截屏、获取全屏、复制到粘贴板),并得到这五个键的横坐标均为0,将键值对集合名称和其横坐标 x0=0关联存储至横坐标容器中,将键值对集合中各键值对的键和其横坐标x0=0关联存储至横坐标容器中。并查找到启动/截图键值对集合的mwidth、其包括的五个键对应的nwidth分别为:5f、6f、8f、6f、4f、6f。
[0061]
得到mwidth、启动/截图的 xt、启动/截图键值对集合中所有键值对的键的xt和nwidth之后,计算画布剩余的像素高度值,计算方法如上确定各元素纵坐标示例中所述,此处不再赘述,并读取下一个键值对集合名称退出/保存,该键值对集合包括两个键值对,分
别为:退出

esc、保存

ctrl+ s,确定退出/保存、退出/保存键值对集合中包括的所有键值对的键的像素高度值之和,计算方法如上确定各元素纵坐标示例中所述,此处不再赘述。
[0062]
若退出/保存、退出/保存键值对集合中包括的所有键值对的键的像素高度值之和大于画布剩余的像素高度值,此时第一列中不再显示其他内容。之后,计算第一列的x(0).width,上述确定的启动/截图键值对集合的mwidth、其包括的五个键对应的nwidth分别为:5f、6f、8f、6f、4f、6f,可知最大值为8f,那么x(0).width=8f。并将退出/保存、退出/保存键值对集合包括的所有键值对的键布局在第三列、其包括的所有键值对的键值布局在第四列,并按照上述方法计算键值对集合名称、键的横坐标,此处不再赘述。
[0063]
若退出/保存、退出/保存键值对集合包括的所有键值对的键的像素高度值小于或等于画布剩余的像素高度值,那么将退出/保存、退出/保存键值对集合包括的两个键值对的键退出、保存均布局在第一列中,即,退出/保存、键值对的键退出、保存的横坐标均为 x(0)=0,将退出/保存、键(退出、保存)和其横坐标x(0)=0分别关联存储至横坐标容器中,并获取到退出/保存、键(退出、保存)的mwidth、nwidth分别为:5f、2f、2f。
[0064]
继续计算画布剩余的像素高度值,并读取下一个键值对集合名称,确定退出/保存、退出/保存键值对集合包括的所有键值对的键的像素高度值,若该像素高度值大于画布剩余的像素高度值,此时第一列中不再显示其他内容。之后,计算第一列的x(0).width,与启动/截图、退出/保存对应的mwidth、7个键(分别为:快速启动截图、光标所在窗口截图、延时5秒截屏、获取全屏、复制到粘贴板、退出、保存)对应的nwidth分别为:5f、5f、6f、8f、6f、4f、6f、2f、2f,其中最大的值为8f,因此 x(0).width=8f。此时将当前读取的键值对集合名称、其包括的所有键值对的键布局在第三列、其包括的所有键值对的键值布局在第四列,并按照上述方法计算键值对集合名称、键的横坐标,此处不再赘述。
[0065]
之后,确定键值对集合中所有键值对的键值的横坐标。
[0066]
将键值对的键值布局在第二列中,此时第一列和第二列的间隔即为键的列和键值的列之间的间隔像素值,即s2为w,并确定启动/截图键值对集合包括的所有键值对的键值的横坐标。读取启动/截图键值对集合包括的所有条目,那么通过条目的信息即可确定启动/截图键值对集合中包括的五个键值对的键值(分别为:ctrl+alt+a、alt+printscreen、ctrl+ printscreen、printscreen、ctrl+c),同样确定键值列中的一个键值的横坐标即可确定该列中所有元素的横坐标。以确定键值

ctrl+alt+a的横坐标为例进行说明:查找与键值

ctrl+alt+a对应的nwidth,其上一相邻列的横坐标x(0)=0、最大像素宽度值 x(0).width=8f,x1=x(0)+x(0).width+w,即x1=8f+w,那么第二列中的其他键值alt+printscreen、ctrl+ printscreen、printscreen、ctrl+c的 x1=8f+w,将键值(ctrl+alt+a、alt+printscreen、ctrl+ printscreen、printscreen、ctrl+c)和其横坐标 x1=8f+w分别关联存储至横坐标容器中。并查找到五个键值对应的vwidth分别为:10f、15f、16f、11f、6f。
[0067]
当读取的第二个键值对集合名称

退出/保存、该键值对集合包括的所有键值对的键的像素高度值大于画布剩余的像素高度值时,此时第二列不会存储其他键值,因此,第二列的 x(1).width,为五个键值分别对应的vwidth中的最大值16f,即x(1).width =16f。
[0068]
当读取的第二个键值对集合名称

退出/保存、该键值对集合包括的所有键值对的键的像素高度值小于或等于画布剩余的像素高度值时,那么退出/保存键值对集合包括的两个键值对的键值(esc、ctrl+ s)也布局在第二列中,例如布局在键值ctrl+c之后。由于同
一列元素的横坐标相同,因此退出/保存键值对集合包括的两个键值对的键值(esc、ctrl+ s)的横坐标为x1=8f+w,将键值(esc、ctrl+ s)和其横坐标 x1=8f+w分别关联存储至横坐标容器中。并查找与两个键值分别对应的vwidth分别为:3f、6f。
[0069]
之后,当再次确定当前读取的键值对集合名称、其包括的所有键值对的键的像素高度值大于画布剩余的像素高度值时,说明第二列不再显示数据,之后计算x(1).width,与7个键值(分别为ctrl+alt+a、alt+printscreen、ctrl+ printscreen、printscreen、ctrl+c、esc、ctrl+ s)对应的vwidth分别为:10f、15f、16f、11f、6f、3f、6f,7个键值中最大的像素宽度值为15f,即,x(1).width=15f。
[0070]
当再次确定当前读取的键值对集合名称、其包括的所有键值对的键的像素高度值小于或等于画布剩余的像素高度值时,那么根据上述过程继续计算键值的横坐标和 x(1).width,此处不再赘述。
[0071]
在确定结构化数据的横、纵坐标后,对上述的纵坐标容器、横坐标容器、像素高度值容器解进行存储,存储的方式可根据实际应用场景进行设置,本发明对存储方式不进行限制,例如,将纵坐标容器、横坐标容器、像素高度值容器存储至本地、内存、与当前计算设备通信连接的数据库。
[0072]
在根据步骤s2301

步骤s2303确定结构化数据的横、纵坐标,并存储至横坐标容器、纵坐标容器后,执行步骤s240,在显示界面显示结构化数据中的元素,其中,结构化数据中包括的元素分别为键值对集合名称、键值对条目,而条目中包括键值对的键、键值,也就是说显示结构化数据中的元素包括键值对集合名称、键值对的键、键值。
[0073]
在一个实施方式中,步骤s240包括:从纵坐标容器中获取与步骤s2301中读取的各个元素相关联的纵坐标,从横坐标容器中获取与步骤s2301中读取的各个元素相对应的横坐标,在画布中、与读取的各个元素的横坐标、纵坐标相同位置处绘制各个已读取元素的内容,以在显示窗口显示已读取元素,以上述的快捷键数据(包括快捷键的所有数据)为例,得到的显示界面如图5所示。
[0074]
在一个实施方式中,为显示窗口中一个键值对分配一个网格区域,该网格区域的像素高度值,是画布(除去键值对集合名称的像素高度值后)剩余的像素高度值与键值对的列数的商取整,网格区域的像素宽度值,是画布的像素宽度值与各列键值对中的最大像素宽度值的商取整,每个网格区域的像素高度值和像素宽度值可相等,也可不相等,每个网格区域的像素高度值和像素宽度值是否相等根据实际应用场景而确定,此处进行限制。确定网格区域大小后,根据键值对的所在的行、列数,确定每一个网格区域的编号(包括列号

行号),判断每个网格区域的列号和行号的奇偶性是否相同,若相同,为当前网格区域绘制第一颜色,若不同,为当前网格区域绘制第二颜色,也即,为相邻的网格区域绘制不同的颜色,其中,为网格区域绘制颜色可以为在网格区域边框绘制颜色,也可在网格区域内填充颜色。
[0075]
例如,图5中的第一行第一列的键值对(5

1)的编号为0(列号)

0(行号),图5中的第二行第一列的键值对(5

2)的编号为0

1,依此类推,确定第一列中的各个键值对的编号,并继续确定图5中的第一行第二列的键值对(5

3)的编号为1

0,图5中的第二行第二列的键值对(5

4)的编号为1

1,依此类推,确定每个网格区域的编号。判断每个网格区域的列号和行号的奇偶性是否相同,若相同,为当前网格区域绘制蓝颜色,若不同,为当前网格区域绘制绿色,得到图6所示的网格区域的编号的示意图。将图6所示的网格区域应用于图5所示的
显示界面中,从而得到如图7所示的显示界面的示意图(图7中未示出颜色)。
[0076]
由上述内容可知,在显示界面中,相邻的键值对的网格区域边框显示不同的颜色,能够更加直观地分辨不同的键值对,提高视觉效果,从而提高用户体验。
[0077]
之后,用户可在显示界面调整各键值对的内容、或键值对集合名称的内容,响应在显示界面调整已显示元素的操作,执行步骤s250,获取已显示元素的坐标、原内容和调整后的内容,并继续执行步骤s260,将结构化数据中对应的原内容更新为调整后的内容,最后执行步骤s270,将显示界面中、与已显示元素坐标对应的内容更新为调整后的内容。
[0078]
其中,若用户在显示界面调整键的内容,那么结构化数据中对应的内容为键值对的键。若用户在显示界面调整键值的内容,那么结构化数据中对应的内容为键值对的键值。若用户在显示界面调整键值对集合名称的内容,那么结构化数据中对应的内容为键值对集合名称。
[0079]
在一个实施方式中,当调整操作为修改任一网格区域内容的操作(即修改键值对集合名称、键值对的键或键值的操作)时,步骤s250至步骤s270包括:用户只需在想要修改的内容处进行双击操作,响应双击操作,弹出一个输入框,用户可在输入框中输入修改后的内容并保存,获取当前调整操作对应的元素的坐标、原内容、调整后的内容,并生成操作事件,操作事件包括当前操作元素的坐标、原内容、调整后的内容,将操作事件存储至事件容器中,将结构化数据中、对应的原内容更新为调整后的内容,并将显示界面中、与所述已显示元素坐标对应的内容更新调整后的内容。
[0080]
在一个实施方式中,当调整操作为撤销操作时,步骤s250至步骤s270包括:响应撤销操作,从事件容器中获取最近一次的操作事件,从操作事件获取当前操作元素的坐标、原内容、调整后的内容,将结构化数据中、调整后的内容更新为原内容,将显示界面中、与当前操作元素的坐标所对应的内容更新为原内容。
[0081]
在一个实施方式中,当调整操作为删除任一网格区域内容的操作(即删除任一键值对集合名称或键值对的键、键值操作)时,步骤s250至步骤s270包括:用户通过按压鼠标左键选中键值对,将已选中的键值对推拽至悬停区域,可在悬停区域显示已选中的键值对,也可不显示,本发明对此不做限制。并获取已选中键值对的内容,作为原内容。按压鼠标左键预设时间(例如2秒)后,触发预删除状态,并在悬停区域弹出可删除提示框8

1,界面示意图如图8所示(图8中未示出颜色),图8的界面为悬停区域中不显示已选中的键值的情况,此时停止按压鼠标左键即可删除当前选中的键值对。之后,删除结构化数据中对应的原内容,并通过上述步骤s230重新确定结构化数据中各元素的坐标,此处不再赘述,并更新显示界面的内容。
[0082]
在一个实施方式中,当调整操作为交换任两个网格区域内容(即交换任两个键值对)的操作时,步骤s250至步骤s270包括:当交换两个键值对的内容时,用户首先将鼠标光标停靠于目标网格区域内,并获取鼠标光标的坐标,根据鼠标光标的横坐标与像素宽度值(计算网格区域的像素宽度值的方法如上述所述,此处不再赘述)的比值得到目标网格区域的行号,根据鼠标光标的纵坐标与像素高度值(计算网格区域的像素高度值的方法如上述所述,此处不再赘述)的比值得到目标网格区域的列号,从而得到目标网格区域的编号。用户通过鼠标选中待交换键值对的网格区域并拖拽,当停止拖拽动作时,判断待交换键值对的网格区域当前所在的网格区域编号与目标网格区域编号是否相同,若相同,说明此时已
将待交换键值对拖拽至目标网格区域,在目标网格区域绘制第三颜色,第三颜色区别于第一颜色、第二颜色,例如第三颜色为红色,以提醒用户交换完成,提高交互性。在目标网格区域绘制第三颜色,可在目标网格区域边框绘制第三颜色,也可在网格区域内填充第三颜色。
[0083]
并获取待交换键值对、目标网格区域的键值对的坐标、内容,将结构化数据中、与待交换键值对的坐标对应的键值对更新为目标网格区域的键值对,将结构化数据中、与目标网格区域的键值对的坐标对应的键值对更新为待交换键值对的键值对,并更新界面内容。
[0084]
值得注意的是,每当需要显示原显示数据时,均需执行步骤s210至步骤s270。之后,当修改、交换界面显示的内容时,需执行步骤s250至步骤s270。当删除界面显示的内容时,需先执行步骤s250至步骤s260,再执行步骤s230,最后执行步骤s270。
[0085]
由上述内容可知,根据本发明的数据显示方法,可在显示界面直接调整数据内容,而无需去数据文件中修改,提高了数据修改的效率,并根据调整后的数据实时更新显示界面中的内容,提高了数据修改的灵活性和便利性。在调整键值对内容时,还会出现界面提示,提高交互性,从而提高用户体验。
[0086]
其次,显示界面中相邻的键值对所在网格区域显示不同的颜色,能够更加直观地分辨各键值对,提高视觉效果,从而提高用户体验。
[0087]
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、u盘、软盘、cd

rom或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
[0088]
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的数据显示方法。
[0089]
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
[0090]
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0091]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0092]
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或
者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。
[0093]
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
[0094]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0095]
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
[0096]
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
[0097]
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
[0098]
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1