是否有任何UI库可以从同一来源构建文本用户界面(ncurses)和图形用户界面(GTK?QT?)? 我知道debconf可以和各种前端一起使用,我想构建类似但可编程的东西。
答案 0 :(得分:3)
使用一个代码库支持YaST独立性以执行ncurses,gtk和qt的库提供了您正在寻找的内容,并且它与YaST本身无关。
实际上,libyui只需要标准的C ++库和phtreads(IIRC)。 UI插件当然需要各自的库(Qt,ncurses)。 YaST通过一组YCP绑定使用libyui,这些绑定在libyui之上导出类似API的YCP。
库有点低级(在事件循环下面一层),我的同事KlausKämpf写了一篇关于在his blog中使用它的文章,包括使用swig绑定到脚本语言。
SUSE特有的唯一部分是包装,因此您需要自己打包。 Stackoverflow不允许我多次链接。该库的代码链接自Klaus博客。将libyui替换为“qt”和“ncurses”替换插件的代码。
此外,谷歌还有“YaST Independence From YCP”,可以找到AndreasJäger关于此主题的博客文章。
答案 1 :(得分:2)
您可以编写程序以使用ncurses,然后使用PDCurses将其转换为X11应用程序 - 正如自述文件所示。
我知道,因为我已将它用作便携式诅咒,但我从未测试过它的X11功能
答案 2 :(得分:2)
答案 3 :(得分:1)
有Cursed GTK,但似乎有点过时了。我发现有一些Qt端口被引用到称为Qt Console的ncurses,但它似乎已经消失了。
答案 4 :(得分:1)
不完全是一个库,但您可以考虑编写一个可以很好地降级到Lynx的Web应用程序
答案 5 :(得分:1)
通过使用同时针对文本模式和GUI环境的库,您很有可能陷入两个世界中最糟糕的境地。
您最好使用MVC pattern构建代码,并为您定位的每个平台提供单独的视图和控制器。将所有逻辑推送到模型类还有其他一些好处:
答案 6 :(得分:0)
答案 7 :(得分:0)
我认为在编译时用于配置linux内核的是dialog / cdialog / xdialog。但是自从我编译内核以来已经有一段时间了,所以我的记忆可能已经关闭了。我能找到的最有希望的链接就是Xdialog。