Seite 1 von 1

connect -> Funktionsaufruf

Verfasst: 7. Juli 2010 18:30
von T-Bone
Guten Abend.

Ich bin neu auf dem Gebiet Qt und hab mir zum Einstieg auf trolltech.com
einiges angeguckt und den Anfängerkurs angefangen.

Ich habe mir zudem auch QSound angeguckt.

Mein Ziel ist es auf Knopfdruck einen Sound abzuspielen.

Soweit ich das verstanden habe geht das mit

QSound::play("mein_lied.mp3");

Ich hab das nur mit connect nicht richtig verstanden.

Kann ich nicht ausserhalb einer Klasse eine Funktion schreiben die ich mit connect bedienen kann?
Wäre nett wenn ich bei dem Anfängerproblem etwas Hilfe bekommen würde.

Re: connect -> Funktionsaufruf

Verfasst: 7. Juli 2010 19:41
von franzf
T-Bone hat geschrieben:Kann ich nicht ausserhalb einer Klasse eine Funktion schreiben die ich mit connect bedienen kann?
Nein, das geht nicht. connect ist an QObject gebunden, du musst also
1) von QObject (oder tiefer, wie QWidget) ableiten
2) die entsprechenden Methoden als slot deklarieren.

Schau dir dazu doch mal die Doku an.

// Nachtrag: Schau auch unbedingt in der Doku zu QSound nach, was du alles abspielen kannst - mp3 ist nicht dabei! Mit QSound geht eigentlich nur .wav!
Du willst wohl eher mit Phonon spielen.

Re: connect -> Funktionsaufruf

Verfasst: 8. Juli 2010 10:39
von unusual
prinzipiell lassen sich mit connect signals mit slots vebinden - das geht auch ausserhalb von Objekten, zwischen verschiedenen Objekten.
Dazu findet man in der Hilfe unter QObject bei "static public members" die Methode
bool connect ( const QObject * sender, const char * signal, const QObject * receiver, const char * method, Qt::ConnectionType type = Qt::AutoCompatConnection )

lg

Mike

Verfasst: 8. Juli 2010 11:12
von T-Bone
Hey, danke für die Antwort und besonders für den Link und dem Tip mit Phonon ;)

Dank dem Link hab ich es jetzt raus.
Ein bisschen weiter gestöbert und ich hab ein Musikplayer Tutorial mit Phonon gefunden.

Verfasst: 8. Juli 2010 11:44
von franzf
T-Bone hat geschrieben:Ein bisschen weiter gestöbert und ich hab ein Musikplayer Tutorial mit Phonon gefunden.
Da muss man eigentlich gar nicht stöbern ;) Du musst nur einen Blick in die examples- und demos-Ordner deiner Qt-Installation/Sourcen werfen, da wird man fast immer fündig.