2008-09-02 149 views
5

是否有任何用户界面库可以同时构建文本用户界面(ncurses)和图形用户界面(GTK?QT?)? 我知道debconf可以与各种前端一起使用,我想要构建类似但可编程的东西。图形用户界面/ TUI linux库

回答

0

可能的Tcl/Tk将提供你想要什么http://www.tcl.tk/

下面是与诅咒接口的页面。有一个与ncurses集成的说法。

http://www2.tcl.tk/2372

+0

我知道它在图形环境中运行。你能链接到有关在ncurses上运行它的信息吗? – 2012-02-07 13:58:05

1

Cursed GTK,但似乎有点过时了。我发现Qt的一些端口引用了一些名为Qt Console的ncurses,但它似乎已经消失。

2

您可以编写程序以使用ncurses,然后使用PDCurses将其转换为X11应用程序 - 如自述文件所示。

我知道,因为我用它作为便携咒骂,虽然我从来没有测试它的X11功能

0

不完全是一个库,但你可以考虑编写一个Web应用程序降解以及对山猫

2

GoboLinux人已经创建了自己的python工具包,名为AbsTK,他们将它用于他们的安装程序,实际上它的工作非常好。我从来没有使用过这个工具包,但用它构建的应用程序似乎很稳固。

0

我想在编译dialog/cdialog/xdialog时用于配置linux内核的是什么。但是自从我编译了一个内核以来已经有一段时间了,所以我的内存可能关闭了。我能找到的最有前景的链接是Xdialog

1

通过使用同时针对文本模式和GUI环境的库,您将面临陷入两全其美的困境的巨大风险。

使用MVC pattern构造代码并为每个目标平台提供单独的视图和控制器会更好。将所有逻辑推向模型类别还有其他几个好处:

  • 代码将更容易测试,因为您被迫将用户界面保留在实际域逻辑之外。
  • 您的程序可以具有很少共同的用户界面,例如,网页界面或语音驱动的用户界面。
  • 您可以通过直接以控制器类所执行的相同方式访问模型类而无需任何UI即可轻松运行程序(即编写脚本)。
3

为YaST独立执行ncurses,gtk和qt以及一个代码库的库提供了您正在查找的内容,而且它不受YaST本身的限制。

其实libyui只需要标准的C++库和phtreads(IIRC)。 UI插件当然需要各自的库(Qt,ncurses)。 YaST通过一组YCP绑定来使用libyui,这些绑定在libyui之上导出一个类似YCP的API。

该库有点低级别(低于事件循环一层),我的同事KlausKämpf在前段时间写过关于his blog的使用,包括使用swig绑定到脚本语言。

SUSE特有的唯一部分是包装,因此您需要自行打包。 Stackoverflow不允许我链接多次。图书馆的代码从Klaus博客链接。将libyui替换为插件代码的“qt”和“ncurses”。

另外google为“YaST独立从YCP”找到AndreasJäger关于这个主题的博客文章。

+0

请注意,有一个正在进行的Google SoC项目使libyui更加独立:http://nbprashanth.wordpress.com/category/gsoc – duncan 2011-09-05 15:54:23