2011-08-28 24 views
1

我想在Linux機器上(幾個按鈕和一個消息顯示區域)編寫一個簡單的GUI應用程序,以用於C後端。 C後端代碼已經存在,我不想改變太多。帶C後端的簡單GUI應用程序

對於前端我最好的選擇是什麼?最初我以爲我會使用Ruby(例如使用Shoes或Ruby on Rails),但是我想知道是否最終會花費太多的時間來讓我的C前端與我的C後端正確對話。

GTK +會是更好的選擇嗎? 你還有什麼建議嗎?

我不得不花費大量的時間來製作前端,無論我做什麼。

+0

如果你選擇GTK +畢竟,我會建議你使用Glade設計器,即使你只有一些控件。 – 2011-08-28 17:50:30

+0

感謝大家的所有建議!我用'qtcreator'和'shoes'玩過,並且讀了'wxPython';但後來才意識到,所有這些對我的簡單需求來說都太強大了。 最後,我可以做一個很好的工作(比我預期的好得多)只用空地。 – Gautam

回答

3

我建議蟒蛇,與wxPythonPyQT/PySide。 要與C後端進行通信,可以使用ctypes

下面是一個如何使用C函數與文檔中的​​一個示例。

>>> printf = libc.printf 
>>> printf("Hello, %s\n", "World!") 
Hello, World! 
>>> printf("Hello, %S\n", u"World!") 
Hello, World! 
>>> printf("%d bottles of beer\n", 42) 
42 bottles of beer 
>>> printf("%f bottles of beer\n", 42.5) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in ? 
ArgumentError: argument 2: exceptions.TypeError: Don't know how to convert parameter 2 
>>> 
1

根據什麼樣的輸入/輸出的後端把手,可以考慮使用使用一個簡單的明文協議進行通信套接字或管道。這樣,你可以基本上使用任何編程語言和前端的基本文件IO,而沒有太多額外的麻煩。

我個人可能會使用Python或Flash/AIR(因爲這是我的主要專長,就GUI編程而言)以及到後端(本地或遠程運行)的套接字連接。但是,無論你更舒適,可能也會起作用。