Seite 1 von 1
Signal Slot
Verfasst: 22. Januar 2010 11:30
von Mido
Hallo ,
ich muss ein Applikation mit Qt Designer erstellen .
mein Problem ist : wie kann ich Signals und Slots selber programmieren , weil im Qt Designer
stehen nur bestimmte Funktionen zur Verfügung . d.h wie kann meine eigene Methode
einfügen.
ich bin hilflos !
Verfasst: 22. Januar 2010 11:53
von drizzt
in deine klasse das macro Q_OBJECT schreiben und dann:
z.b.
signals:
void mySignal(int);
...
public slots:
void mySlot(QString s);
aber vllt doch mal die qt hilfe lesen?

Verfasst: 22. Januar 2010 12:40
von marvel
der mechannismus ist gänzlich einfach. du hast zu jedem objekt vordefinierte SIGNALS und SLOTS. diese kannst du unter Der Dokumentation
http://doc.trolltech.com/4.6/index.html nachschauen, indem du die passende klasse des objektes nimmst. sollten diese deinen bedarf einmal nicht abdecken kann man auch eigene SIGNALS und SLOTS definieren. eine gute beschreibung findest du unter
http://doc.trolltech.com/4.6/signalsandslots.html.
solltest du dennoch fragen haben, stehe ich dir zur verfügung

Verfasst: 25. Januar 2010 15:17
von Mido
ja das funktioniert bei mir immer noch nicht , auch wenn die Hilfe gelesen habe , das bringt mich nicht weiter
ich will ein kleines Beispiel erst Mal schreiben und zwar :
ein Button und ein TextEdit , und wenn die Taste drücke scheint daneben im Text :Taste wird gedrückt
wie mache ich das ?
danke
Verfasst: 25. Januar 2010 17:10
von odenter
Der Knof hat ein Signal (clicked) für Knopf gedrückt. An das Signal hängst Du eine Methode in der Du den Text des textEdit Widgets setzt.
Also in die Deklaration deiner Fenster-Klasse eine Methode:
Code: Alles auswählen
public slots:
void OnButtonPressed() {
textEdit->setText("lalalala");
}
Und im Konstruktor
Code: Alles auswählen
connect(ui->button, SIGNAL(clicked()), this, SLOT(OnButtonPressed));
Verfasst: 25. Januar 2010 19:45
von upsala
Verfasst: 26. Januar 2010 18:16
von Mido
hallo zusammen
ich weiss nicht warum beim Ausführen kommt ein Fehlermeldung:
Segmentation fault
mein Programm lässt sich Fehlerfrei compilieren ,
Note: ich nehme mal QtCreator als Editor
bitte schaut ihr im meine anhängende Quellcode !
ich wird sehr dankbar für eure Hilfe
Verfasst: 26. Januar 2010 18:27
von upsala
Fehlt das nicht was?
Schon mal was von einem Debugger gehört?
Verfasst: 26. Januar 2010 19:16
von Mido
Ja hier ist mein main Funktion :
#include <QtGui/QApplication>
#include "mywidget.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MyWidget w;
w.show();
return a.exec();
}
aber trotzdem kein Reaktion !!!!!!!!
Verfasst: 26. Januar 2010 19:42
von upsala
Schon mal was von einem Debugger gehört? Mit wem connectest du eigentlich?