2008-09-02 90 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