Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Browsers and Java Script.

Browsers and Java Script.

Scheduled Pinned Locked Moved Solved General and Desktop
12 Posts 4 Posters 2.8k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    bask185
    wrote on 20 Jul 2017, 11:48 last edited by bask185
    #1

    The next step in my HMI project is to implent a browser which can display text using java script and HTML code.

    I see (and correct me if I'm wrong) that I can use a QQuickWidget in combination with QML code according to this website

    But I also see that I can use a Qt WebKit

    What I need to realize looks a bit like this: (I hope these damned screenshots work)

    alt text

    So what is wise for me to do?

    R 1 Reply Last reply 20 Jul 2017, 11:54
    0
    • M mrjj
      24 Jul 2017, 08:14

      @bask185 said in Browsers and Java Script.:

      QtWebEngine

      You need
      QT += webengine
      in .pro file

      B Offline
      B Offline
      bask185
      wrote on 24 Jul 2017, 08:19 last edited by
      #9

      @mrjj said in Browsers and Java Script.:

      @bask185 said in Browsers and Java Script.:

      QtWebEngine

      You need
      QT += webengine
      in .pro file

      Funny, I recall me saying something about I was not going to forget to include something in .PRO file again -_-"

      Anyways, it works :D

      Now I have to figure out how to place it precisely and how to interact with it.

      1 Reply Last reply
      0
      • B bask185
        20 Jul 2017, 11:48

        The next step in my HMI project is to implent a browser which can display text using java script and HTML code.

        I see (and correct me if I'm wrong) that I can use a QQuickWidget in combination with QML code according to this website

        But I also see that I can use a Qt WebKit

        What I need to realize looks a bit like this: (I hope these damned screenshots work)

        alt text

        So what is wise for me to do?

        R Offline
        R Offline
        raven-worx
        Moderators
        wrote on 20 Jul 2017, 11:54 last edited by
        #2

        @bask185
        QML isn't related to HTML at all. It just uses a JavaScript engine internally.
        I can't see your posted images, so it's hard to give an advise.

        Are you dependent on HTML?
        If you need to build a GUI on the device you are better off with QML.

        --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
        If you have a question please use the forum so others can benefit from the solution in the future

        1 Reply Last reply
        1
        • B Offline
          B Offline
          bask185
          wrote on 20 Jul 2017, 14:13 last edited by bask185
          #3

          I might or might not have fixed my screenshots, I believe they work now? Damned photobucket no longer works

          Anyways I have a .html file which I need to display. I used a QTextBrowser so far but I have more than just text. QML like you said also does not suffice. So I think I'm gonna try to use a QWebKit browser.

          1 Reply Last reply
          0
          • B Offline
            B Offline
            bask185
            wrote on 21 Jul 2017, 09:28 last edited by
            #4

            Now I used imgur for the screenshots, lets see if that works.

            The thing you are looking at is a complex html file which I do need to make it work in my Qt application.

            I learned that I need to install the QtWebkit module. I don't have it yet. I tried it using Qt's Maintenance tool but that tool does not work without a commercial license it seems.

            I have seen that that there widgets for a webview as well as a module you can use in combination with QML. The latter I tried and gave me the erros: qrc:/resources/img/webview.qml:3:1: module "QtWebKit" is not installed This was how I found out I don't have this module.

            Are there other ways in how to install missing modules?

            J R 2 Replies Last reply 21 Jul 2017, 10:34
            0
            • B bask185
              21 Jul 2017, 09:28

              Now I used imgur for the screenshots, lets see if that works.

              The thing you are looking at is a complex html file which I do need to make it work in my Qt application.

              I learned that I need to install the QtWebkit module. I don't have it yet. I tried it using Qt's Maintenance tool but that tool does not work without a commercial license it seems.

              I have seen that that there widgets for a webview as well as a module you can use in combination with QML. The latter I tried and gave me the erros: qrc:/resources/img/webview.qml:3:1: module "QtWebKit" is not installed This was how I found out I don't have this module.

              Are there other ways in how to install missing modules?

              J Offline
              J Offline
              jsulm
              Lifetime Qt Champion
              wrote on 21 Jul 2017, 10:34 last edited by
              #5

              @bask185 said in Browsers and Java Script.:

              Qt's Maintenance tool but that tool does not work without a commercial license

              This is simply wrong. The maintenance tool works just fine here without commercial license. Why do you think it only works with commercial license?
              Actually you should use Qt WebEngine not QtWebKit.

              https://forum.qt.io/topic/113070/qt-code-of-conduct

              1 Reply Last reply
              0
              • B bask185
                21 Jul 2017, 09:28

                Now I used imgur for the screenshots, lets see if that works.

                The thing you are looking at is a complex html file which I do need to make it work in my Qt application.

                I learned that I need to install the QtWebkit module. I don't have it yet. I tried it using Qt's Maintenance tool but that tool does not work without a commercial license it seems.

                I have seen that that there widgets for a webview as well as a module you can use in combination with QML. The latter I tried and gave me the erros: qrc:/resources/img/webview.qml:3:1: module "QtWebKit" is not installed This was how I found out I don't have this module.

                Are there other ways in how to install missing modules?

                R Offline
                R Offline
                raven-worx
                Moderators
                wrote on 21 Jul 2017, 10:34 last edited by
                #6

                @bask185
                QtWebkit is deprecated in the meantime and has been replaced by QtWebEngine (based on Chromium).
                Try using WebEngineView instead.

                --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
                If you have a question please use the forum so others can benefit from the solution in the future

                B 1 Reply Last reply 24 Jul 2017, 08:07
                1
                • R raven-worx
                  21 Jul 2017, 10:34

                  @bask185
                  QtWebkit is deprecated in the meantime and has been replaced by QtWebEngine (based on Chromium).
                  Try using WebEngineView instead.

                  B Offline
                  B Offline
                  bask185
                  wrote on 24 Jul 2017, 08:07 last edited by
                  #7

                  @raven-worx said in Browsers and Java Script.:

                  @bask185
                  QtWebkit is deprecated in the meantime and has been replaced by QtWebEngine (based on Chromium).
                  Try using WebEngineView instead.

                  Thank you,

                  I added to the setup of MainWindow:

                  QtWebEngine::initialize();
                  
                  QQmlApplicationEngine engine;
                  engine.load(QUrl(QStringLiteral("qrc:/webview.qml")));
                  

                  And I included: #include <QtWebEngine/QtWebEngine>

                  But Imma getting an error message:

                  /home/user/Dropbox/GUI/GUI_Qt/mainwindow.cpp:-1: error: undefined reference to `QtWebEngine::initialize()'
                  
                  M 1 Reply Last reply 24 Jul 2017, 08:14
                  0
                  • B bask185
                    24 Jul 2017, 08:07

                    @raven-worx said in Browsers and Java Script.:

                    @bask185
                    QtWebkit is deprecated in the meantime and has been replaced by QtWebEngine (based on Chromium).
                    Try using WebEngineView instead.

                    Thank you,

                    I added to the setup of MainWindow:

                    QtWebEngine::initialize();
                    
                    QQmlApplicationEngine engine;
                    engine.load(QUrl(QStringLiteral("qrc:/webview.qml")));
                    

                    And I included: #include <QtWebEngine/QtWebEngine>

                    But Imma getting an error message:

                    /home/user/Dropbox/GUI/GUI_Qt/mainwindow.cpp:-1: error: undefined reference to `QtWebEngine::initialize()'
                    
                    M Offline
                    M Offline
                    mrjj
                    Lifetime Qt Champion
                    wrote on 24 Jul 2017, 08:14 last edited by
                    #8

                    @bask185 said in Browsers and Java Script.:

                    QtWebEngine

                    You need
                    QT += webengine
                    in .pro file

                    B 1 Reply Last reply 24 Jul 2017, 08:19
                    3
                    • M mrjj
                      24 Jul 2017, 08:14

                      @bask185 said in Browsers and Java Script.:

                      QtWebEngine

                      You need
                      QT += webengine
                      in .pro file

                      B Offline
                      B Offline
                      bask185
                      wrote on 24 Jul 2017, 08:19 last edited by
                      #9

                      @mrjj said in Browsers and Java Script.:

                      @bask185 said in Browsers and Java Script.:

                      QtWebEngine

                      You need
                      QT += webengine
                      in .pro file

                      Funny, I recall me saying something about I was not going to forget to include something in .PRO file again -_-"

                      Anyways, it works :D

                      Now I have to figure out how to place it precisely and how to interact with it.

                      1 Reply Last reply
                      0
                      • B Offline
                        B Offline
                        bask185
                        wrote on 24 Jul 2017, 09:15 last edited by
                        #10

                        Hey speakin' about placing it. The webview thing behaves very oddly when it comes to opening.

                        It either opens at startup or it does not open at all, atleast not without closing immediately.

                        I put these lines in a function which gets called when I push on a button. It opens but it closes immediately.

                        QtWebEngine::initialize();
                        
                        QQmlApplicationEngine engine;
                        engine.load(QUrl(QStringLiteral("qrc:/webview.qml")));
                        

                        And when I add these lines to the setup, the browser opens without closing. Only at this point I dont want the browser to be visable yet. I need to be able to manually open or close the browser. I tried everything but I cannot get this to work :/

                        It also appears to be needing a blank QtQuickWidget somewhere

                        M 1 Reply Last reply 24 Jul 2017, 09:16
                        0
                        • B bask185
                          24 Jul 2017, 09:15

                          Hey speakin' about placing it. The webview thing behaves very oddly when it comes to opening.

                          It either opens at startup or it does not open at all, atleast not without closing immediately.

                          I put these lines in a function which gets called when I push on a button. It opens but it closes immediately.

                          QtWebEngine::initialize();
                          
                          QQmlApplicationEngine engine;
                          engine.load(QUrl(QStringLiteral("qrc:/webview.qml")));
                          

                          And when I add these lines to the setup, the browser opens without closing. Only at this point I dont want the browser to be visable yet. I need to be able to manually open or close the browser. I tried everything but I cannot get this to work :/

                          It also appears to be needing a blank QtQuickWidget somewhere

                          M Offline
                          M Offline
                          mrjj
                          Lifetime Qt Champion
                          wrote on 24 Jul 2017, 09:16 last edited by mrjj
                          #11

                          @bask185 said in Browsers and Java Script.:

                          • It opens but it closes immediately.

                          QtWebEngine::initialize();
                          QQmlApplicationEngine engine;
                          engine.load(QUrl(QStringLiteral("qrc:/webview.qml")));

                          You kill it by running out of scope.
                          As soon as function finishes, the engine variable will die.

                          QQmlApplicationEngine engine; <<< make this a class member

                          1 Reply Last reply
                          1
                          • B Offline
                            B Offline
                            bask185
                            wrote on 24 Jul 2017, 09:34 last edited by
                            #12

                            Done & Solved, tnx again.

                            1 Reply Last reply
                            1

                            1/12

                            20 Jul 2017, 11:48

                            • Login

                            • Login or register to search.
                            1 out of 12
                            • First post
                              1/12
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • Users
                            • Groups
                            • Search
                            • Get Qt Extensions
                            • Unsolved