GUI / TUI linux库

时间:2020-03-05 18:46:39  来源:igfitidea点击:

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

解决方案

回答

也许tcl / tk会提供我们想要的东西http://www.tcl.tk/

这是与curses交互的页面。有人声称与ncurses集成。

http://www2.tcl.tk/2372

回答

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

回答

我们可以编写程序以使用ncurses,然后使用PDCurses将其作为自述文件广告转换为X11应用程序。

我知道它的原因是,尽管我从未测试过它的X11功能,但是我将它用作便携式诅咒。

回答

不完全是一个库,但是我们可以考虑编写一个对Lynx的性能很好的Web应用程序

回答

GoboLinux家伙已经为python创建了自己的工具包AbsTK,他们将其用于安装程序,实际上效果很好。我从未亲自使用过该工具包,但使用它构建的应用程序似乎很可靠。

回答

我认为编译时用于配置linux内核的是dialog / cdialog / xdialog。但是自从我编译内核已经有一段时间了,所以我的记忆可能已经关闭了。我可以找到的最有前途的链接是Xdialog的链接。

回答

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

我们最好使用MVC模式来构造代码,并为目标平台提供单独的视图和控制器。将所有逻辑下推到模型类还有其他一些好处:

  • 该代码将更易于测试,因为我们被迫将用户界面置于实际域逻辑之外。
  • 程序可以具有很少有共同点的用户界面,例如Web UI或者语音驱动的UI。
  • 我们可以完全不使用UI来轻松运行该程序(即,对其进行脚本编写),方法是直接访问模型类,方法与控制器类相同。

回答

支持YaST独立性以一个代码库执行ncurses,gtk和qt的库提供了我们要查找的内容,并且它与YaST本身无关。

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

我的同事Klaus K?mpf前段时间在他的博客中写道,该库有点低级(在事件循环下面一层),包括使用swig绑定到脚本语言。

与SUSE特定的唯一部分是包装,因此我们需要自己包装。 Stackoverflow不允许我多次链接。库的代码从Klaus博客链接。将libyui替换为" qt",并将" ncurses"替换为插件的代码。

还可以通过Google搜索"来自YCP的Yas独立"来查找Andreas J?ger的博客条目。