我想在Linux機器上(幾個按鈕和一個消息顯示區域)編寫一個簡單的GUI應用程序,以用於C後端。 C後端代碼已經存在,我不想改變太多。帶C後端的簡單GUI應用程序
對於前端我最好的選擇是什麼?最初我以爲我會使用Ruby(例如使用Shoes或Ruby on Rails),但是我想知道是否最終會花費太多的時間來讓我的C前端與我的C後端正確對話。
GTK +會是更好的選擇嗎? 你還有什麼建議嗎?
我不得不花費大量的時間來製作前端,無論我做什麼。
我想在Linux機器上(幾個按鈕和一個消息顯示區域)編寫一個簡單的GUI應用程序,以用於C後端。 C後端代碼已經存在,我不想改變太多。帶C後端的簡單GUI應用程序
對於前端我最好的選擇是什麼?最初我以爲我會使用Ruby(例如使用Shoes或Ruby on Rails),但是我想知道是否最終會花費太多的時間來讓我的C前端與我的C後端正確對話。
GTK +會是更好的選擇嗎? 你還有什麼建議嗎?
我不得不花費大量的時間來製作前端,無論我做什麼。
我建議蟒蛇,與wxPython或PyQT/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
>>>
根據什麼樣的輸入/輸出的後端把手,可以考慮使用使用一個簡單的明文協議進行通信套接字或管道。這樣,你可以基本上使用任何編程語言和前端的基本文件IO,而沒有太多額外的麻煩。
我個人可能會使用Python或Flash/AIR(因爲這是我的主要專長,就GUI編程而言)以及到後端(本地或遠程運行)的套接字連接。但是,無論你更舒適,可能也會起作用。
如果你選擇GTK +畢竟,我會建議你使用Glade設計器,即使你只有一些控件。 – 2011-08-28 17:50:30
感謝大家的所有建議!我用'qtcreator'和'shoes'玩過,並且讀了'wxPython';但後來才意識到,所有這些對我的簡單需求來說都太強大了。 最後,我可以做一個很好的工作(比我預期的好得多)只用空地。 – Gautam