2011-08-28 22 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编程而言)以及到后端(本地或远程运行)的套接字连接。但是,无论你更舒适,可能也会起作用。