Библиотека для создания собственного приложения C ++ с графическим интерфейсом, определенным в XML?

Мне нужна библиотека C ++ для создания автономного собственного приложения. Библиотека должна поддерживать создание GUI с использованием тегов XML. Я получил некоторую информацию о XUL Mozilla, но этот XUL требует XULRunner для запуска приложения.

Сценарий таков:

What I have:
(1) C++ code in .cpp files
(2) GUI defined in .xml files

The output I need:
A single stand-alone native application

1

Решение

После нескольких часов испытаний я получил заключение. Идеально использовать Qt для поставленной цели.

Qt предлагает виджет (он же элемент управления, он же компонент GUI) с именем QWebView, который отображает HTML5 с помощью WebKit. Мы можем использовать этот QWebView вместе с QMainWindow, чтобы сформировать нативное приложение.

Вызов JS из C ++ может быть выполнен следующим образом:

QWebView Webview;
Webview->load(...);
...
Webview->page()->mainFrame()->evaluateJavaScript("alert('whatever');");

Вызов C ++ из JS может быть выполнен аналогично:

//(1) in C++ code:
QWebView Webview;
Webview->load(...);
QObject  Object; //or any object inherited from QObject
...
Webview->page()->mainFrame()->addToJavaScriptWindowObject("Cpp",&Object);

//(2) in HTML/JS code:
<script>
Cpp.some_function(); //declared in the QObject above, with 'public slots:'
</script>

Однако в результате трудно получить один двоичный файл, поскольку приложению требуется библиотека динамических ссылок Qt (ядро Qt, графический интерфейс Qt, сеть Qt, веб-набор Qt и т. Д.). Сборка установщика может решить проблему.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector