Простое приложение с графическим интерфейсом на C - PullRequest
1 голос
/ 28 августа 2011

Я хочу написать простое приложение с графическим интерфейсом на компьютере с Linux (несколько кнопок и область отображения сообщений) для использования с бэкэндом Си.Внутренний код C уже существует, и я не хочу его сильно менять.

Какая моя лучшая ставка для внешнего интерфейса?

Сначала я думал, что буду использоватьRuby (например, с использованием Shoes или Ruby on Rails), но мне было интересно, не потрачу ли я слишком много времени на то, чтобы просто сделать свой интерфейсный разговор должным образом с моим C-модулем.вариант использовать вместо?Есть ли что-нибудь еще, что вы могли бы предложить?

Мне бы пришлось потратить значительное количество времени на создание внешнего интерфейса, независимо от того, к чему я обращаюсь.

Ответы [ 2 ]

3 голосов
/ 28 августа 2011

Я предлагаю Python с wxPython или PyQT / PySide . Для связи с бэкэндом C вы можете использовать ctypes.

Вот пример того, как функции C могут использоваться с ctypes, из документации.

>>> 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 голос
/ 28 августа 2011

В зависимости от того, какой тип ввода / вывода обрабатывает серверная часть, рассмотрите возможность использования сокета или канала для связи по простому текстовому протоколу. Таким образом, вы можете по существу использовать любой язык программирования с базовым файловым вводом-выводом для внешнего интерфейса, без особых хлопот.

Лично я бы, вероятно, использовал Python или Flash / AIR (потому что в этом заключается мой основной опыт программирования GUI) и сокетное соединение с серверной частью (работающей локально или удаленно). Но то, с чем вам удобнее, скорее всего, будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...