2016-08-01 13 views
0

Mein Qt C++ - Code generiert eine Liste der verfügbaren Bluetooth-Geräte und möchte sie auf dem App-Bildschirm drucken, der mit QML erstellt wurde. Ich kann die verfügbaren Geräte auf die qDebug-Ausgabe drucken, aber wie drucke ich sie auf den von QML generierten Bildschirm?Qt C++ - Ausgabe in App-Bildschirm in QML geschrieben

Wenn mich jemand auf die richtige Ressource verweisen kann, wäre das auch sehr hilfreich.

Nachdem diese Bluetooth-Geräte auf dem App-Bildschirm angezeigt werden, beabsichtige ich, eine Verbindung zu dem Gerät herzustellen, das vom Benutzer ausgewählt wurde.

Ich habe es wirklich schwer, die Schnittstelle zwischen C++ und QML zu verstehen. Ich bin ziemlich neu in Qt und ich füge Features zu einem großen Projekt von jemand anderem geschrieben.

Antwort

0

Ich benutze Qt mit UI-Editor und C++, aber mit QML ist genau das gleiche. Ich empfehle Ihnen, eine QListView mit einem benutzerdefinierten Modell mit Ihren Bluetooth-Geräten zu verwenden. Ein kleines Beispiel mit einigen Geräten:

const QStringList devices = QStringList() << "Samsumng S5" << "Iphone 4S" << "Xiami Mi3"; 

Jetzt haben wir unsere Liste Modell schaffen:

QStringListModel *listModel = new QStringListModel(this); 
listModel->setStringList(devices); 

Schließlich, stellen Sie das Modell als Standard in unserer Liste Ansicht:

ui->lisView->setModel(listModel); 

Nun, wie mit dem ausgewählten Gerät umzugehen? Verwenden Sie die verfügbaren Signale des Listview-Auswahlmodell (QItemSelectionModel), wie

void currentRowChanged(const QModelIndex &current, const QModelIndex &previous) 

Behandeln Sie das Signal mit einem benutzerdefinierten Schlitz und das tun, was Sie wollen! =)