Threads in QT
Verfasst: 1. Juni 2009 21:55
Hallo Forum,
ich bin ein blutiger Anfänger in C++ und habe fast keine Erfahrung in
QT.
Im Moment arbeite ich an einem Projekt, welches Daten über die Serielle
Schnittstelle sendet und wieder einliest - das geht bereits. Weiteres
sollen die Daten auch auf der Gui ausgegeben werden - was über manuelle
betätigung über Buttons auch Funktioniert.
Mein Ziel ist es, das senden und empfangen in einer Schleife ausführen
zu lassen.
Hierfür habe ich im Programm wo SetupUi aufgerufen wird einen Thread
erzeugt, welcher auch ausgeführt (zZ. while(1) Schleife in der
run()-Methode) wird. In diesem soll dann das Senden/Empfangen
stattfinden.
Mein eigentliches Problem ist, wie ich die empfangenen Daten vom Thread
a in das UI bekomme.
Bis jetzt habe ich folgendes Probiert:
Ich habe im Thread die "ui_Miniterminal.h" eingebunden (vom qmake
erzeugte GUI Header) und lineSenden->setText("Test"); (lineSenden ist
der Objektname von meinem LineEdit) aufgerufen, was er mir mit der
Fehlermeldung 'lineSenden undecleared' aber leider verweigert.
Wie kann ich dieses Problem am einfachsten lösen?
Was wäre der sauberste Weg?
Danke im vorraus,
Mike
Entwicklung unter Windows XP, QT 4.5.1/MinGW
ich bin ein blutiger Anfänger in C++ und habe fast keine Erfahrung in
QT.
Im Moment arbeite ich an einem Projekt, welches Daten über die Serielle
Schnittstelle sendet und wieder einliest - das geht bereits. Weiteres
sollen die Daten auch auf der Gui ausgegeben werden - was über manuelle
betätigung über Buttons auch Funktioniert.
Mein Ziel ist es, das senden und empfangen in einer Schleife ausführen
zu lassen.
Hierfür habe ich im Programm wo SetupUi aufgerufen wird einen Thread
erzeugt, welcher auch ausgeführt (zZ. while(1) Schleife in der
run()-Methode) wird. In diesem soll dann das Senden/Empfangen
stattfinden.
Code: Alles auswählen
Miniterminal::Miniterminal(QMainWindow *parent) : QMainWindow(parent){
setupUi(this);
connect(buttonConnect, SIGNAL(clicked()), this, SLOT(Verbinden()));
connect(buttonSend, SIGNAL(clicked()), this, SLOT(Senden()));
a.start(); // Thread
}a in das UI bekomme.
Bis jetzt habe ich folgendes Probiert:
Ich habe im Thread die "ui_Miniterminal.h" eingebunden (vom qmake
erzeugte GUI Header) und lineSenden->setText("Test"); (lineSenden ist
der Objektname von meinem LineEdit) aufgerufen, was er mir mit der
Fehlermeldung 'lineSenden undecleared' aber leider verweigert.
Wie kann ich dieses Problem am einfachsten lösen?
Was wäre der sauberste Weg?
Danke im vorraus,
Mike
Entwicklung unter Windows XP, QT 4.5.1/MinGW