GUI编程以在Linux中显示磁盘中的记录
Posted
技术标签:
【中文标题】GUI编程以在Linux中显示磁盘中的记录【英文标题】:GUI programming to display record from disk in linux 【发布时间】:2013-01-23 09:22:08 【问题描述】:我需要实现的目标 我在磁盘(特定文件)上有大量(大约 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 命令的显示,您能否告诉我这些命令显示输出的基础?
b.任何更适合此类操作的特定语言(如 GTK、QT 等)?除了 top/atop 命令中使用的语言之外,基本上任何更好的语言。 (可能这个问题是主观的)但想收集最佳意见?
c。现在,如果我想对结构进行模板化(通过在配置文件中提供)以便可以读取和显示不同类型的结构,那么这可能是哪种语言最好?注意:我的意思是,文件 1 仅包含结构 A 数据。文件 2 包含结构 B 数据。所以在读取文件2时,我想加载结构B的结构配置并运行该工具进行显示。
PS : 上述文件实际上是使用普通 C 应用程序写入文件的(暗示结构及其字段将是 C 基本数据类型属性)。
【问题讨论】:
对于类似***的 GUI 功能,请使用 curses 库。 curses 是一个出色的软件包,请务必从 GNU 尝试 ncurses。 (新诅咒;)) GTK+ 和 Qt 不是“语言”,它们是用户界面工具包库。至少 GTK+ 可以从大量不同的编程语言中使用(通过“绑定”)。 【参考方案1】:一个。 top
的实现有很多。其中一些使用curses\ncurses
库。
b.如果没有理由让你的程序从控制台运行(文本模式),那么当然,图形模式,上面提到的 GUI 工具包运行,似乎更适合你的需要。这些工具包不是编程语言,而是用特定语言编写的库(尽管有时带有自己的扩展)。
在这种情况下我不鼓励 Qt,因为它有糟糕的 Model/View
实现(这尤其是您需要的)。对于 GTK,有 Gnome-DB 项目。如果我是你,我会看看Dabo。
c。我不确定你所说的配置文件是什么意思,如果你是指一些插件系统或解释器,但我认为使用 Python、Ruby、php 等可解释语言会更直接。但是,因为你的文件是巨大的,我不确定它们是否会在没有一些调整的情况下持续存在。处理此类文件本身就是一项挑战。
还有一个选项可以将文件导出到数据库并使用一些数据库操作软件。
如果你有统计数据,那么你可以看看R 和像 RKWard 这样的 GUI 前端。
【讨论】:
你的答案是最好和最接近的。我确实从你的回答中得到了很多信息。谢谢!以上是关于GUI编程以在Linux中显示磁盘中的记录的主要内容,如果未能解决你的问题,请参考以下文章
如何在 FLTK 中编写面板任务栏以在 Linux 系统上使用