V
18 февраля 2020 г. 2:11

WebEngine

Добрый день.

Сейчас инициализация моего приложение выглядит приблизительно так:

  1. sys_argv = sys.argv
  2. sys_argv += ['--style', 'material']
  3. app = QGuiApplication(sys_argv)
  4. app.setWindowIcon(QIcon(str((Path().resolve().joinpath('favicon.ico')))))
  5. engine = QQmlApplicationEngine()
  6.  
  7. chatter = Chatter()
  8. engine.rootContext().setContextProperty('chatter', chatter)
  9.  
  10. engine.addImportPath(str(Path().resolve().joinpath('qml')))
  11. engine.load(QUrl("qrc:/qml/main.qml"))
  12.  
  13. if not engine.rootObjects():
  14. sys.exit(-1)

У меня есть 5 qml-страничек с использованием QtQuick. Могу ли я вставить WebEngineView с заполнением формы на одну из этих страничек?
И если могу, то как? :-)

2

Вам это нравится? Поделитесь в социальных сетях!

4
Evgenii Legotckoi
  • 19 февраля 2020 г. 16:29
  • Ответ был помечен как решение.

Добрый день.

В QML использование WebEngineView выглядит так

  1. import QtQuick 2.0
  2. import QtQuick.Window 2.0
  3. import QtWebEngine 1.0
  4.  
  5. Window {
  6. width: 1024
  7. height: 750
  8. visible: true
  9. WebEngineView {
  10. anchors.fill: parent
  11. url: "https://www.qt.io"
  12. }
  13. }

То есть да, вы можете использовать WebEngineView в QML, но что означает заполнение формы? Какой формы?

    V
    • 19 февраля 2020 г. 17:50

    Спасибо.

    Я подумал было, что обязательно нужно определять использование WebEngine в PyQt, а если достаточно сделать это напрямую в QML, то так лучше.
    Под формой я имел в виду использование TypeForm, т.е. тут url будет вести на опросник.

      Evgenii Legotckoi
      • 19 февраля 2020 г. 17:53

      Упс... Я не обратил внимания на PyQt5. Тогда не факт, что заработает

        V
        • 19 февраля 2020 г. 18:09

        Да, прямо сходу не заработало, а сейчас просто некогда разбираться, да и я уже решил не использовать в этом приложении WebEngine. Ошибка:

        1. WebEngineContext used before QtWebEngine::initialize() or OpenGL context creation failed.

        Причём если просто сделать qmlproject (без PyQt), то ваша схема работает.

          Комментарии

          Только авторизованные пользователи могут публиковать комментарии.
          Пожалуйста, авторизуйтесь или зарегистрируйтесь