Решил тут хелп для очередной проги запилить в формате html, так как удобнее создавать.
Ну и для отображения был выбран QtWebEngine, написал простейший примерчик:
(Кому нужно просто решить проблему — в самый конец)
QT += webengine
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QtWebEngine>
#include <QDebug>
int main(int argc, char *argv[])
{
qDebug()<<"MAIN";
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
QtWebEngine::initialize(); //-- обязательно, иначе крэш!
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
return app.exec();
}
import QtQuick 2.4
import QtQuick.Window 2.2
import QtWebEngine 1.1
Window {
visible: true
Rectangle {
anchors.fill: parent
color:"red"
}
WebEngineView {
visible: true
id: webview
url: "http://pavelk.ru"
anchors.fill: parent
}
}
Компилирую, запускаю, всё ок.
Но при попытке запустить скомпилированный бинарник просто из операционки, а не из QtCreator, вижу пустое окно О_о
Внезапно… Думал, раз сам пример запускается, значит и WebEngine должен, а так как фон остался красным, значит WebEngine полностью не прогрузился.
Смотрел уже и через ldd webengine , в выводе все библиотеки присутствуют.
Значит, WebEngine сам ещё что-то грузит.
Оказалось, так и есть и виновник нашёлся в папке с Qt по пути Qt/5.6/gcc_64/libexec с названием QtWebEngineProcess, но самое странное, через ldd ему то же всё хватало…
Видимо, подгружает позже…
Решил что бы наверняка добавить папку Qt с либами в глобальную переменную, в которой как раз по идее и должны храниться пути к либам LD_LIBRARY_PATH и это помогло!
[tip] В общем решение оказалось простым:export LD_LIBRARY_PATH=/home/pavelk/Qt/5.6/gcc_64/lib:${LD_LIBRARY_PATH}
ну и запустить ldconfig.
Путь до Qt только на свой замените и что бы изменения вступили в силу необходимо перелогиниться.
В дальнейшем, что бы переносить прогу с QtWebEngine в qt.conf необходимо указать папку для libexec и в неё кинуть из Qt/5.6/gcc_64/libexec экзешник QtWebEngineProcess,
ну и разумеется установить lib со всеми webengine* модулями.
[/tip]
Вот как-то так =)