用于在linux中显示磁盘记录的GUI编程

时间:2013-01-23 09:22:08

标签: python linux qt user-interface gtk

我需要实现的目标
我在磁盘(特定文件)上有一个巨大的集合(大约100万个)记录(每个500字节的记录),格式低于

===========================================================
|X|a,b,c|O|m,n,g|X|t,a,c|X|e,p,q|O|u,q,p|X|r,t,s|O|l,m,a|
===========================================================  

第一个字段由标志('X')组成,表示有效填充数据,标志('O')由结构化数据组成。例如,第一组包含一个有效数据,其中a,b,c作为其数据(假设为结构)。

我需要在屏幕(linux)上显示它们更像top命令输出(简单 - 意思是键盘输入驱动,动态GUI - 如刷新,向下翻页选项等),如 -

Display Record From No XXX                    

Records Number                                Field 1                         Field 2                           Field 3
1                                                a                                b                                c
2                                                NA                               NA                               NA
3                                                t                                a                                c
4                                                o                                p                                q
5                                                NA                               NA                               NA
6                                                r                                t                                s
7                                                NA                               NA                               NA

F5 [Referesh]                Page-Down [Next Page]                Page-Up [Prev Page]                Ctrl+C [Exit]  

如果值XXX将由用户输入并显示一页记录。

问题

一个。由于显示类似于top / atop命令,你能告诉我这些命令显示输出的基础吗?

湾任何特定语言(如GTK,QT等)更适合此类操作?基本上除了top / atop命令中使用的语言之外,还有更好的语言。 (可能这个问题是主观的)但是想收集最好的意见吗?

℃。现在,如果我想模板化结构(通过提供配置文件),以便可以读取和显示不同类型的结构,从哪种语言最好?注意:我的意思是,文件1仅包含结构A数据。文件2包含结构B数据。因此,在读取文件2时,我想加载结构B的结构配置并运行该工具进行显示。

PS:
上述文件实际上是用普通的C应用程序写入文件的(暗示结构及其字段是C基本数据类型属性)。

1 个答案:

答案 0 :(得分:1)

一个。 top有很多实现。其中一些使用curses\ncurses库。

湾如果没有理由让你的程序从控制台(文本模式)运行,那么当然图形模式,提到的GUI工具包运行,似乎更适合你的需要。这些工具包不是编程语言,而是使用特定语言编写的库(尽管有时使用自己的扩展)。

在这种情况下,我不鼓励Qt,因为它实现了Model/View可怕(这尤其是你需要的)。对于GTK,有Gnome-DB项目。如果我是你,我会看看Dabo

℃。我不确定你的配置文件是什么意思,如果你的意思是一些插件系统或解释器,但我认为它将更直接的可解释语言,如Python,Ruby,PHP等。但是,因为你的文件是巨大的,我不确定他们是否坚持没有一些调整。处理这些文件本身就是一个挑战。

还可以选择将文件导出到数据库并使用一些数据库操作软件。

如果您有统计数据,那么您可以查看R和GUI前端,如RKWard。