Signal Parameter von Qt zu qml senden

Alles rund um die Programmierung mit Qt
Antworten
reinki0013
Beiträge: 174
Registriert: 11. November 2008 09:37
Wohnort: AUT

Signal Parameter von Qt zu qml senden

Beitrag von reinki0013 »

hallo zusammen,

ich versuche mich gerade an einem projekt mittels qt quick.
ich habe jetzt auch schon ein "leeres" signal schicken können von meinem qt-class teil zu meinem qml file.
jetzt allerdings möchte ich auch gerne parameter von meiner qt-class zum qml file senden.

allerdings kapier ich das nicht wirklich und es kommt die fehlermeldung

Code: Alles auswählen

Cannot assign to non-existent property
hier der teil meiner c++ klasse (header-datei):

Code: Alles auswählen

class cInfoMenu : public QDeclarativeItem
{
  Q_OBJECT

public:
  cInfoMenu(QDeclarativeItem *parent = 0);


signals:
  void ready();   // dieses Signal funktioniert prächtig
  void SendeListe(QVariant var);    // funktioniert leider nicht
cpp-datei:

Code: Alles auswählen

cInfoMenu::cInfoMenu(QDeclarativeItem *parent) :
    QDeclarativeItem(parent)
{
  setFlag(QGraphicsItem::ItemHasNoContents, false);
  QTimer::singleShot(2000, this, SIGNAL(ready()));
  emit SendeListe(QVariant("testblablabla"));
}
hier meine qml-datei:

Code: Alles auswählen

Rectangle
{
  width: 360
  height: 360

  Text
  {
    id: label
    text: "Hello World"
    anchors.centerIn: parent
  }
  Text
  {
    id: textlabel
    text: "text"
  }
  onReady: label.text = "Ready"
  onSendeListe: textlabel.text = "testblabla"   // das funktioniert nicht :-(
}
und hier noch meine main.cpp:

Code: Alles auswählen

int main(int argc, char *argv[])
{
  QApplication app(argc, argv);
  qmlRegisterType<cInfoMenu>("LiveView", 1, 0, "Rectangle");

  QDeclarativeView view;
  view.setSource(QUrl("qml/TestQMLC++/main.qml"));
  view.showMaximized();

  return app.exec();
}
könnt ihr mir da weiterhlefen ?

lg
reinki0013
Beiträge: 174
Registriert: 11. November 2008 09:37
Wohnort: AUT

Re: Signal Parameter von Qt zu qml senden

Beitrag von reinki0013 »

hallo nochmal,

ich hoffe ihr habt mein geschildertes problem verstanden :-)

noch einmal in verkürzter form:
wie kann ich einenn Parameter von meiner Qt C++-Klasse mittels Signal an mein QML-File übergeben ?
ich habs mit emit Signal(QVariant("text")) versucht - leider geht das nicht...

könnt ihr mir weiterhelfen?

lg
reinki0013
Beiträge: 174
Registriert: 11. November 2008 09:37
Wohnort: AUT

Re: Signal Parameter von Qt zu qml senden

Beitrag von reinki0013 »

ich hab jetzt noch einen anderen versuch um es euch besser zu erklären...

ich will mein qml-file nur nutzen um grafisch alles darzustellen - ähnlich einem qwidget.
im hintergrund - sprich in der qt c++-klasse möchte ich all die anderen dinge erledigen.
so habe ich z.b. in meiner qt c++ klasse eine funktion, die mir daten vom netzwerk einlest - diese daten möchte ich dann gerne an mein qml-file senden/übergeben und dort anzeigen.
zum beispiel eine stringliste, diese lese ich vom netzwerk in meiner qt c++ klasse herein und möchte sie dann anschließend in meinem qml-file darstellen -> deshalb der versuch per signal - aber das scheint nicht zu funktionieren.

habt ihr da eine idee wie ich das machen könnte ?

lg
Antworten