Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. German
  4. Qml -> C++ simples Beispiel
QtWS25 Last Chance

Qml -> C++ simples Beispiel

Scheduled Pinned Locked Moved Unsolved German
7 Posts 3 Posters 1.1k 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.
  • R Offline
    R Offline
    ronnic
    wrote on last edited by
    #1

    Ich lerne in Kleinstschritten:
    Sensor -> Arduino -> IDE/Sketch -> I2C -> C++ -> Qml

    Gibt es ein wirklich simples Beispiel, in dem gezeigt wird, wie eine in C++ erstellte „Hallo Welt“ Textvariable oder 1-10 Zählschleife in Qml dargestellt werden kann?
    Lieben Gruß
    Ronald

    J.HilkJ 1 Reply Last reply
    0
    • R ronnic

      Ich lerne in Kleinstschritten:
      Sensor -> Arduino -> IDE/Sketch -> I2C -> C++ -> Qml

      Gibt es ein wirklich simples Beispiel, in dem gezeigt wird, wie eine in C++ erstellte „Hallo Welt“ Textvariable oder 1-10 Zählschleife in Qml dargestellt werden kann?
      Lieben Gruß
      Ronald

      J.HilkJ Offline
      J.HilkJ Offline
      J.Hilk
      Moderators
      wrote on last edited by
      #2

      @ronnic sicherlich

      import QtQuick 2.12
      import QtQuick.Window 2.2
      import QtQuick.Controls 2.12
      
      ApplicationWindow {
          id: mainWindow
      
          visible: true
          width: 400
          height: 100
      
          Text {
              id: textId
              anchors{
                  left: parent.left
                  right:parent.right
                  top: parent.top
                  bottom:  parent.verticalCenter
              }
      
              text: qsTr("Hallo Welt")
          }
      
          Button{
              id: btn
              anchors{
                  left: parent.left
                  right:parent.right
                  top: textId.bottom
                  bottom:  parent.bottom
              }
      
              text: "Starte Zählschleife"
              onClicked: zaehler.start()
          }
      
          Timer{
              id:zaehler
              running:false
              interval: 1000 //1 sec
              repeat: true
              property int count: 0
              onTriggered:{
                  if(count == 10){
                      zaehler.stop
                      return;
                  }
                  textId.text = ++count
              }
          }
      }
      

      Alternativ würde ich die Beispiel Sektion in der Qt Dokumentation empfehlen, die ist sehr gut, und man kann sie gut zum lernen benutzen
      https://doc.qt.io/qt-5/qtquick-codesamples.html


      Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


      Q: What's that?
      A: It's blue light.
      Q: What does it do?
      A: It turns blue.

      R 1 Reply Last reply
      2
      • J.HilkJ J.Hilk

        @ronnic sicherlich

        import QtQuick 2.12
        import QtQuick.Window 2.2
        import QtQuick.Controls 2.12
        
        ApplicationWindow {
            id: mainWindow
        
            visible: true
            width: 400
            height: 100
        
            Text {
                id: textId
                anchors{
                    left: parent.left
                    right:parent.right
                    top: parent.top
                    bottom:  parent.verticalCenter
                }
        
                text: qsTr("Hallo Welt")
            }
        
            Button{
                id: btn
                anchors{
                    left: parent.left
                    right:parent.right
                    top: textId.bottom
                    bottom:  parent.bottom
                }
        
                text: "Starte Zählschleife"
                onClicked: zaehler.start()
            }
        
            Timer{
                id:zaehler
                running:false
                interval: 1000 //1 sec
                repeat: true
                property int count: 0
                onTriggered:{
                    if(count == 10){
                        zaehler.stop
                        return;
                    }
                    textId.text = ++count
                }
            }
        }
        

        Alternativ würde ich die Beispiel Sektion in der Qt Dokumentation empfehlen, die ist sehr gut, und man kann sie gut zum lernen benutzen
        https://doc.qt.io/qt-5/qtquick-codesamples.html

        R Offline
        R Offline
        ronnic
        wrote on last edited by
        #3

        @J-Hilk hallo
        Das von dir gezeigte Script ist aber für das QML-GUI gedacht oder? Die Inhalte („hallo welt“ und Zähler) werden also in QML erstellt und nicht aus der Main.cpp importiert. Sehe ich das richtig?

        Ich benötige aber einen Workflow, wie ich Daten aus der Logik von C++ ( main.cpp) in QML darstellen oder als Parameter für weitere Funktionen in QML verwenden kann.

        Pl45m4P J.HilkJ 2 Replies Last reply
        0
        • R ronnic

          @J-Hilk hallo
          Das von dir gezeigte Script ist aber für das QML-GUI gedacht oder? Die Inhalte („hallo welt“ und Zähler) werden also in QML erstellt und nicht aus der Main.cpp importiert. Sehe ich das richtig?

          Ich benötige aber einen Workflow, wie ich Daten aus der Logik von C++ ( main.cpp) in QML darstellen oder als Parameter für weitere Funktionen in QML verwenden kann.

          Pl45m4P Offline
          Pl45m4P Offline
          Pl45m4
          wrote on last edited by
          #4

          @ronnic said in Qml -> C++ simples Beispiel:

          Ich benötige aber einen Workflow, wie ich Daten aus der Logik von C++ ( main.cpp) in QML darstellen oder als Parameter für weitere Funktionen in QML verwenden kann.

          Man kann die Daten über Signale (Notifier bzw. über Properties) an dein QML-"Frontend" senden.
          Die eigentliche Logik kann dann in deinen C++ Klassen stattfinden.

          Guck mal hier:

          • https://doc.qt.io/qt-5/qtqml-cppintegration-overview.html
          • https://doc.qt.io/qt-5/qtqml-cppintegration-topic.html
          • https://doc.qt.io/qt-5/qtqml-cppintegration-interactqmlfromcpp.html

          If debugging is the process of removing software bugs, then programming must be the process of putting them in.

          ~E. W. Dijkstra

          R 1 Reply Last reply
          0
          • Pl45m4P Pl45m4

            @ronnic said in Qml -> C++ simples Beispiel:

            Ich benötige aber einen Workflow, wie ich Daten aus der Logik von C++ ( main.cpp) in QML darstellen oder als Parameter für weitere Funktionen in QML verwenden kann.

            Man kann die Daten über Signale (Notifier bzw. über Properties) an dein QML-"Frontend" senden.
            Die eigentliche Logik kann dann in deinen C++ Klassen stattfinden.

            Guck mal hier:

            • https://doc.qt.io/qt-5/qtqml-cppintegration-overview.html
            • https://doc.qt.io/qt-5/qtqml-cppintegration-topic.html
            • https://doc.qt.io/qt-5/qtqml-cppintegration-interactqmlfromcpp.html
            R Offline
            R Offline
            ronnic
            wrote on last edited by
            #5

            @Pl45m4
            Ich danke dir.

            1 Reply Last reply
            0
            • R ronnic

              @J-Hilk hallo
              Das von dir gezeigte Script ist aber für das QML-GUI gedacht oder? Die Inhalte („hallo welt“ und Zähler) werden also in QML erstellt und nicht aus der Main.cpp importiert. Sehe ich das richtig?

              Ich benötige aber einen Workflow, wie ich Daten aus der Logik von C++ ( main.cpp) in QML darstellen oder als Parameter für weitere Funktionen in QML verwenden kann.

              J.HilkJ Offline
              J.HilkJ Offline
              J.Hilk
              Moderators
              wrote on last edited by
              #6

              @ronnic total vergessen zu Antworten

              Schick mir morgen mal ne DM und ich bau das Beispiel dann um, sollte morgen die Zeit dazu finden


              Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


              Q: What's that?
              A: It's blue light.
              Q: What does it do?
              A: It turns blue.

              1 Reply Last reply
              1
              • J.HilkJ Offline
                J.HilkJ Offline
                J.Hilk
                Moderators
                wrote on last edited by
                #7

                Etwas verspätet, aber dann kam die Erinnerung doch noch :D

                https://github.com/DeiVadder/CppAndQmlInteractionExample

                3 Methoden sind in der main.cpp zum angucken.
                um zwischen den einzelnen Methoden zu wechseln, einfach das entsprechende define wieder einkommentieren:

                //#define MethodA //Registered type
                //#define MethodB //Singeltons
                //#define MethodC //exposed c++ instance
                

                Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                Q: What's that?
                A: It's blue light.
                Q: What does it do?
                A: It turns blue.

                1 Reply Last reply
                0

                • Login

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