Signal Slot

Alles rund um die Programmierung mit Qt
Antworten
Mido
Beiträge: 18
Registriert: 30. Mai 2008 10:21

Signal Slot

Beitrag 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 !
drizzt
Beiträge: 29
Registriert: 9. Oktober 2009 13:37

Beitrag 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? :-)
marvel
Beiträge: 105
Registriert: 9. August 2009 07:41

Beitrag 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 :)
Mido
Beiträge: 18
Registriert: 30. Mai 2008 10:21

Beitrag 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
odenter
Beiträge: 36
Registriert: 5. Dezember 2009 10:02

Beitrag 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));
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Arbeite doch mal die Tutorials durch: http://doc.trolltech.com/4.6/tutorials.html
Mido
Beiträge: 18
Registriert: 30. Mai 2008 10:21

Beitrag 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
Dateianhänge
mywidget.h
(381 Bytes) 188-mal heruntergeladen
mywidget.cpp
(614 Bytes) 190-mal heruntergeladen
ui_mywidget.h
(1.82 KiB) 157-mal heruntergeladen
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Fehlt das nicht was?
Schon mal was von einem Debugger gehört?
Mido
Beiträge: 18
Registriert: 30. Mai 2008 10:21

Beitrag 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 !!!!!!!!
Dateianhänge
main.cpp
(175 Bytes) 194-mal heruntergeladen
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Schon mal was von einem Debugger gehört? Mit wem connectest du eigentlich?
Antworten