Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: exvion от Март 19, 2010, 20:16



Название: Работа с qt приложением из другой программы
Отправлено: exvion от Март 19, 2010, 20:16
Необходимо к ruby скрипту приделать графический интерфейс для ввода данных. Выбор пал на Qt.
На qt делаем "приложение" с интерфейсом пользователя с кнопками, текстовыми полями и др. элементами. Затем это приложение упаковываем в dll.
Далее создаем некую interface.dll, в которой помещаем API для работы с выше созданным приложением. Функции следующие - запуск графического окна, установка значения поля формы из ruby скрипта, запись в ruby скрипт значения из формы (setValue, getValue).
interface.dll можно с помощью SWIG подключить к ruby - interface.so.
Также необходимо перечисленные задачи решить для скрита на python.

Знаю существуют библиотеки qtruby, pyqt. Но в них весь функционал qt приложения придется дублировать.

Кратко подведу итог:
qt приложение помещаем в myqt.dll, создаем myinterface.so (ruby), myinterface.dll(c++), myinteface.so(python) для подключения к myqt.dll.

В ruby скрипте пишем

require 'myinterface.so'

inter=myinterface.new
myinterface.startQtApp(option1,option2,option3)
value=myinterface.getValue("option1")

В программе на C++
#include <myinterface.h>

myInterface_t *inter = new myInterface_t();
value=myinterface->getValue("option1");

Как такое реализовать?
Возможно ли создать wrapper для qt наподобии qtruby или pyqt только более высокоуровневый?