deprecated Warnungen mit Qt 5.15.2
Solved
German
-
Hallo zusammen,
bisher habe ich für mein Projekt Qt 5.12 verwendet. Nachdem ich jetzt auf Qt 5.15.2 gewechselt habe bekomme ich jede Menge deprecated Warnungen./home/martin/Entwicklung/qt/qt_gc_cmake/lib-datad/source/dropdown.cpp: In member function ‘QQmlListProperty<lib::datad::DropDownValue> lib::datad::DropDown::GetValues()’: /home/martin/Entwicklung/qt/qt_gc_cmake/lib-datad/source/dropdown.cpp:52:59: warning: ‘QQmlListProperty<T>::QQmlListProperty(QObject*, QList<T*>&) [with T = lib::datad::DropDownValue]’ is deprecated: Use constructor taking QList pointer, and gain improved performance [-Wdeprecated-declarations] 52 | return QQmlListProperty<DropDownValue>(this, d->Values); | ^ In file included from /opt/Extern/Entwicklung/Qt/5.15.2/gcc_64/include/QtQml/QQmlListProperty:1, from /home/martin/Entwicklung/qt/qt_gc_cmake/lib-datad/source/dropdown.h:5, from /home/martin/Entwicklung/qt/qt_gc_cmake/lib-datad/source/dropdown.cpp:1: /opt/Extern/Entwicklung/Qt/5.15.2/gcc_64/include/QtQml/qqmllist.h:69:5: note: declared here 69 | QQmlListProperty(QObject *o, QList<T *> &list) | ^~~~~~~~~~~~~~~~
Der Code dazu sie so aus:
QQmlListProperty<DropDownValue> DropDown::GetValues(void) { Q_D(DropDown); return QQmlListProperty<DropDownValue>(this, d->Values); }
Sollte man hier etwas machen und wenn ja wie. Die Sache mit dem "use constructor" sagt mir nämlich nichts.
Danke für Eure Hilfe.
gruss
martin -
@msauer75 said in deprecated Warnungen mit Qt 5.15.2:
Die Sache mit dem "use constructor" sagt mir nämlich nichts
Siehe Dokumentation: https://doc.qt.io/qt-5/qqmllistproperty.html#QQmlListProperty-2
Wahrscheinlich reicht:return QQmlListProperty<DropDownValue>(this, &(d->Values));
-
@msauer75 said in deprecated Warnungen mit Qt 5.15.2:
Mit dem & Übergebe ich doch eine Referenz auf das Objekt?
Nein, einen Pointer (C++ Basics).