Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. QQmlListProperty constructor doesn't accept my arguments
Forum Updated to NodeBB v4.3 + New Features

QQmlListProperty constructor doesn't accept my arguments

Scheduled Pinned Locked Moved QML and Qt Quick
qqmllistpropert
16 Posts 3 Posters 5.3k Views 1 Watching
  • 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.
  • T Offline
    T Offline
    themts
    wrote on 11 Mar 2015, 20:32 last edited by themts 3 Nov 2015, 20:32
    #7

    TestItemClass:

    class TestItem : public NChartRenderItem
    {
        Q_OBJECT    
    private:
        QOpenGLBuffer *m_vertexBuffer = NULL;
    
    public:
        TestItem();
        ~TestItem();
    
        // NChartRenderItem interface
    public:
        bool createVertexBuffer(int bufferSize);
        bool renderItem();
    };
    

    NChartRenderItem-Class:

    class NChartRenderItem : public QObject
    {
        Q_OBJECT
    public:
        explicit NChartRenderItem(QObject *parent = 0);
        ~NChartRenderItem();
    
        virtual bool createVertexBuffer(int bufferSize) = 0;
        virtual bool renderItem() = 0;
    
    signals:
    
    public slots:
    };
    
    1 Reply Last reply
    0
    • D Offline
      D Offline
      dasRicardo
      wrote on 11 Mar 2015, 20:36 last edited by dasRicardo 3 Nov 2015, 20:36
      #8

      Hmm can u show me the constructor implementation?

      **Sorry for my english :)

      PLEASE ADD [SOLVED] TO YOUR THREAD TITLE IF IT'S SOLVED.**

      1 Reply Last reply
      0
      • T Offline
        T Offline
        themts
        wrote on 11 Mar 2015, 20:39 last edited by
        #9

        At this moment the constructors are just empty.

        TestItem::TestItem()
        {
        }
        
        1 Reply Last reply
        0
        • D Offline
          D Offline
          dasRicardo
          wrote on 11 Mar 2015, 20:41 last edited by dasRicardo 3 Nov 2015, 20:41
          #10

          @themts said:

          QQmlListProperty<TestItem> TestClass::lstTestItems() const
          {
          return QQmlListProperty<TestItem>(this, 0, &TestClass::count_lstTestItems, &TestClass::at_lstTestItems);
          }

          Why this?

          In my impelentation it looks diffrent.

          <pre><code>
          //implementation of the getter
          QQmlListProperty<Object> YourClass::fields() {
          return QQmlListProperty<Object>(this, this->m_fields);
          }
          </code></pre>

          **Sorry for my english :)

          PLEASE ADD [SOLVED] TO YOUR THREAD TITLE IF IT&#x27;S SOLVED.**

          1 Reply Last reply
          0
          • T Offline
            T Offline
            themts
            wrote on 11 Mar 2015, 20:50 last edited by
            #11

            QQmlListProperty has 3 constructor. I'm using this one:
            http://doc.qt.io/qt-5/qqmllistproperty.html#QQmlListProperty-4

            That way I can use it as a "virtual" list.
            Anyway, even if I use it your way - which is not recommended - it shows the same error.
            "Generally this constructor should not be used in production code, as a writable QList violates QML's memory management rules. However, this constructor can be very useful while prototyping."

            QList<TestItem*> m_lstTestItems;
            
            return QQmlListProperty<TestItem>(this, this->m_lstTestItems);
            
            1 Reply Last reply
            0
            • D Offline
              D Offline
              dasRicardo
              wrote on 11 Mar 2015, 21:11 last edited by
              #12

              OK, thanks for your hints. I will definitely change this. I saw this in different sample codes. But my c++ and QT knowledge is very nooby :) Sorry that i can't help u. Not really an idea.

              **Sorry for my english :)

              PLEASE ADD [SOLVED] TO YOUR THREAD TITLE IF IT&#x27;S SOLVED.**

              1 Reply Last reply
              0
              • D Offline
                D Offline
                dasRicardo
                wrote on 12 Mar 2015, 11:36 last edited by dasRicardo 3 Dec 2015, 11:37
                #13

                Can u show me the constructor implementation of your NChartRenderItem class?

                **Sorry for my english :)

                PLEASE ADD [SOLVED] TO YOUR THREAD TITLE IF IT&#x27;S SOLVED.**

                1 Reply Last reply
                0
                • T Offline
                  T Offline
                  themts
                  wrote on 18 Mar 2015, 13:48 last edited by themts
                  #14

                  I really don't understand why it's not working.
                  I even tried to use Q_PROPERTY(QQmlListProperty<QObject> ... -> same result

                  I don't get it. The error-message (C2665) seems to be wrong as well: it says 5 overloads.
                  Actually there are only 4.

                  Does anyone has an idea?
                  Btw. I want to use QQmlListProperty as a datamodel for a listview.

                  1 Reply Last reply
                  0
                  • S Offline
                    S Offline
                    swegmann
                    wrote on 20 Mar 2015, 13:55 last edited by
                    #15

                    Can you show us the full error message of the compiler for the case where you give it the count and at functions? I think there might be some helpfull information about this issue.

                    1 Reply Last reply
                    0
                    • T themts
                      11 Mar 2015, 18:29

                      Hi,

                      I'm doing my first steps with QQmlListProperty.
                      Unfortunately I'm not able to create such list :-(

                      header:

                      class TestClass : public QQuickFramebufferObject    
                      {
                          Q_OBJECT
                          Q_PROPERTY(QQmlListProperty<TestItem> lstTestItems READ lstTestItems)
                      
                      private:
                          static int count_lstTestItems(QQmlListProperty<TestItem> *list);
                          static TestItem* at_lstTestItems(QQmlListProperty<TestItem> *list, int index);
                      
                      public:
                          QQmlListProperty<TestItem> lstTestItems() const;
                      }
                      

                      source:

                      QQmlListProperty<TestItem> TestClass::lstTestItems() const
                      {              
                          return QQmlListProperty<TestItem>(this, 0, &TestClass::count_lstTestItems, &TestClass::at_lstTestItems);
                      }
                      

                      Error:
                      error: C2665: "QQmlListProperty<TestItem>::QQmlListProperty": Durch keine der 5 Überladungen konnten alle Argumenttypen konvertiert werden.

                      What am I missing here?

                      Thanks!
                      mts

                      P.S. how can I mark parts of my post as code?

                      [edit: Added missing coding tags three back sticks to start and three to end SGaist]

                      T Offline
                      T Offline
                      themts
                      wrote on 23 Apr 2015, 20:52 last edited by themts
                      #16

                      solved :-)
                      no one saw it ;-)

                      public:
                          QQmlListProperty<TestItem> lstTestItems() const;
                      

                      this can't be const. Thats it.

                      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