Integration von einer C++ Klasse und QML
-
Hallo liebe Community,
Ich habe ein Problem, was ich nicht gelöst bekomme und weshalb ich total am Verzweifeln bin. Und zwar bin ich gerade dabei eine C++ Klasse in QML zu integrieren, damit ich meine C++ Klasse in meinem QML-Code verwenden kann. Ich habe mir zuvor ein Tutorial angeschaut von QT auf deren YouTube Channel (Link: [https://www.youtube.com/watch?v=e35ugcY2aOk](link url)), was genau die Problematik vom Integrieren von C++ in QML behandelt, und wollte dies auf mein Projekt anwenden. Nur leider funktioniert es nicht.
Meine Files sehen wie folgt aus..
Nun habe ich in meiner Headerfile:
#ifndef CSENSOR_H #define CSENSOR_H #include <QObject> #include <QVariant> #include <QDebug> class CSensor : public QObject { Q_OBJECT Q_PROPERTY(float Longitude READ getLongitude WRITE setLongitude NOTIFY longitudeChanged) Q_PROPERTY(float Latitude READ getLatitude WRITE setLatitude NOTIFY latitudeChanged) public: CSensor(QObject *parent = Q_NULLPTR); [...]
Und in meiner dazugehörigen .cpp:
#include "csensor.h" CSensor::CSensor(QObject *parent) { QObject *parent = new CSensor; } [...]
Die Fehlermeldung habe ich als Bild hochgeladen.
0_1538138286580_Fehlermeldung.jpg
Nun bin ich schon seit mehreren Stunden am Probieren, nur komme ich auf keine Lösung für mein Problem, weshalb ich mich an die Community wende.
Kennt jemand das Problem oder weiß jemand was ich falsch mache?
Liebe Grüße :-)
-
Hallo liebe Community,
Ich habe ein Problem, was ich nicht gelöst bekomme und weshalb ich total am Verzweifeln bin. Und zwar bin ich gerade dabei eine C++ Klasse in QML zu integrieren, damit ich meine C++ Klasse in meinem QML-Code verwenden kann. Ich habe mir zuvor ein Tutorial angeschaut von QT auf deren YouTube Channel (Link: [https://www.youtube.com/watch?v=e35ugcY2aOk](link url)), was genau die Problematik vom Integrieren von C++ in QML behandelt, und wollte dies auf mein Projekt anwenden. Nur leider funktioniert es nicht.
Meine Files sehen wie folgt aus..
Nun habe ich in meiner Headerfile:
#ifndef CSENSOR_H #define CSENSOR_H #include <QObject> #include <QVariant> #include <QDebug> class CSensor : public QObject { Q_OBJECT Q_PROPERTY(float Longitude READ getLongitude WRITE setLongitude NOTIFY longitudeChanged) Q_PROPERTY(float Latitude READ getLatitude WRITE setLatitude NOTIFY latitudeChanged) public: CSensor(QObject *parent = Q_NULLPTR); [...]
Und in meiner dazugehörigen .cpp:
#include "csensor.h" CSensor::CSensor(QObject *parent) { QObject *parent = new CSensor; } [...]
Die Fehlermeldung habe ich als Bild hochgeladen.
0_1538138286580_Fehlermeldung.jpg
Nun bin ich schon seit mehreren Stunden am Probieren, nur komme ich auf keine Lösung für mein Problem, weshalb ich mich an die Community wende.
Kennt jemand das Problem oder weiß jemand was ich falsch mache?
Liebe Grüße :-)
Hi @Ti94mbo
2 Sachen die mir spontan auffallen1: es fehlt die richtige initalisierung des QObject der Grundklasse
2: Du versuchst im constructor der Klasse eine instance der selben Klasse zu erzeugen. Das kann nicht funktionieren.Folgendes sollte klappen:
CSensor::CSensor(QObject *parent) : QObject(parent { }