Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. German
  4. Zwischenstände einer QList in einer weiteren QList anlegen
QtWS25 Last Chance

Zwischenstände einer QList in einer weiteren QList anlegen

Scheduled Pinned Locked Moved Solved German
8 Posts 3 Posters 613 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.
  • H Offline
    H Offline
    henrik2016
    wrote on 8 Jan 2020, 08:10 last edited by
    #1

    Hallo,

    ich arbeite zur Zeit an einem Projekt in dem ich eine Klasse mit zwei Zeigern auf QLists erzeuge. QList A beinhaltet mehrere Zeiger auf Objekte. Der Zustand der Objekte ändert sich zyklisch. Nun möchte ich nach Änderung der Zustände den aktuellen Zustand von QList A an QList B hängen. Nachdem der Zyklus beendet wurde möchte ich QList B mit n QLists A in einer Datenbank abspeichern.

    Wie kann ich das am effizientesten umsetzen?

    J 1 Reply Last reply 8 Jan 2020, 08:14
    0
    • H henrik2016
      8 Jan 2020, 08:10

      Hallo,

      ich arbeite zur Zeit an einem Projekt in dem ich eine Klasse mit zwei Zeigern auf QLists erzeuge. QList A beinhaltet mehrere Zeiger auf Objekte. Der Zustand der Objekte ändert sich zyklisch. Nun möchte ich nach Änderung der Zustände den aktuellen Zustand von QList A an QList B hängen. Nachdem der Zyklus beendet wurde möchte ich QList B mit n QLists A in einer Datenbank abspeichern.

      Wie kann ich das am effizientesten umsetzen?

      J Offline
      J Offline
      jsulm
      Lifetime Qt Champion
      wrote on 8 Jan 2020, 08:14 last edited by jsulm 1 Aug 2020, 08:14
      #2

      @henrik2016 Mir ist nicht klar was die QLists mit den Zuständen der Objekte zu tun haben. Die enthalten ja Zeiger auf diese Objekte, nicht Objekte selbst.

      Die Dokumentation enthält benötige Informationen:

      • https://doc.qt.io/qt-5/qlist.html#append-1
      • https://doc.qt.io/qt-5/qtsql-index.html (ich nehme an, dass eine SQL Datenbank gemeint ist)

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

      1 Reply Last reply
      0
      • H Offline
        H Offline
        henrik2016
        wrote on 8 Jan 2020, 08:25 last edited by
        #3

        @jsulm Vielleicht habe ich mich nicht genau ausgedrückt.

        Die Objekte, worauf die die Zeiger zeigen, besitzen Member Variablen, die sich zyklisch ändern. Die Änderungen möchte ich zwischenspeichern.

        J 1 Reply Last reply 8 Jan 2020, 08:50
        0
        • H henrik2016
          8 Jan 2020, 08:25

          @jsulm Vielleicht habe ich mich nicht genau ausgedrückt.

          Die Objekte, worauf die die Zeiger zeigen, besitzen Member Variablen, die sich zyklisch ändern. Die Änderungen möchte ich zwischenspeichern.

          J Offline
          J Offline
          jsulm
          Lifetime Qt Champion
          wrote on 8 Jan 2020, 08:50 last edited by
          #4

          @henrik2016 Siehe die Links zu der Dokumentation, die ich vorher gepostet habe.

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

          1 Reply Last reply
          0
          • H Offline
            H Offline
            henrik2016
            wrote on 8 Jan 2020, 09:01 last edited by
            #5

            @jsulm Mein Problem dabei ist, dass somit nur die Zeiger und nicht worauf sie zeigen anhängt werden. Somit zeigt jede einzelne QList A in QList B auf das Gleiche. Daher bräuchte ich etwas wie eine tiefe Kopie, die die Values der Objekte mitkopiert. Allerdings weiß ich nicht wie ich das umsetzen soll.

            J 1 Reply Last reply 8 Jan 2020, 09:05
            0
            • H henrik2016
              8 Jan 2020, 09:01

              @jsulm Mein Problem dabei ist, dass somit nur die Zeiger und nicht worauf sie zeigen anhängt werden. Somit zeigt jede einzelne QList A in QList B auf das Gleiche. Daher bräuchte ich etwas wie eine tiefe Kopie, die die Values der Objekte mitkopiert. Allerdings weiß ich nicht wie ich das umsetzen soll.

              J Offline
              J Offline
              jsulm
              Lifetime Qt Champion
              wrote on 8 Jan 2020, 09:05 last edited by
              #6

              @henrik2016 said in Zwischenstände einer QList in einer weiteren QList anlegen:

              Mein Problem dabei ist, dass somit nur die Zeiger und nicht worauf sie zeigen anhängt werden

              Und das ist genau was ich vorher schon gemeint habe: eine QList mit Zeigern hilft nicht Zwischenstände zu sichern.

              Implementiere in der Klasse Copy-Constructor und Assignment-Operator und speichere entweder direkt die Instanzen statt Zeigern in QList, oder erstelle neue Instanzen (neueInstanz = alteInstanz) um Zustand zu sichern und speichere dann Zeiger auf diese neuen Instancen in QList.

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

              1 Reply Last reply
              0
              • J Offline
                J Offline
                J.Hilk
                Moderators
                wrote on 8 Jan 2020, 09:08 last edited by J.Hilk 1 Aug 2020, 09:08
                #7

                Nur eine kleine Warnung, weil es in die Richtung geht.

                @henrik2016 wenn deine Klasse direkt von QObject abgeleitet ist, kannst du sie nicht klassisch kopieren.
                Der Copy-Operator ist deaktiviert.


                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
                • H Offline
                  H Offline
                  henrik2016
                  wrote on 8 Jan 2020, 09:31 last edited by
                  #8

                  @jsulm @J-Hilk Danke für eure Hilfe. Durch den Vorschlag mehrere Instanzen zu machen ist mir eine Lösung für meinen speziellen Fall eingefallen. Ich nutze nun eine dritte QList, die als Default Liste dient, um neue Instanzen anzulegen.

                  1 Reply Last reply
                  0

                  7/8

                  8 Jan 2020, 09:08

                  • Login

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