QT Slot Problem
-
Hi ich habe mich neu in QT eingelesen und habe folgendes Problem.
Ich habe da eine Funktion die ein Signal(sendbuf) auslöst(Bei Enter in lineedit) und anschliesend wird , sollte man schon verbunden sein mitconnect( this, SIGNAL(sendbuf()),s,SLOT(WriteClient(infield->text())) );
an den Client der im QLineEdit infield; befindliche Text gesendet .
Allerdings wird der Slot nicht aufgerufen...
Slot:
public slots:
void WriteClient(QString buf)
{
...
}Wenn ich das ganze aber ohne ÜbergabeParameter mache wird der Slot korrekt aufgerufen.
Danke Vielmals
-
du kannst einem Slot nicht mehr Parameter mitgeben, als das Signal zur Verfuegung stellt (wobei ich mir da grad nicht sicher bin)
so klappts auf alle Faelle nicht.
Innerhalb der connect-Anweisung muss die Signatur des Signals und des Slots stehen, darueber kann also keine Parameteruebergabe erfolgen..in deinem konkreten Beispiel waere das so:
// in deiner Header signals: sendbuf( const QString& ); // in der cpp connect( this, SIGNAL( sendbuf( const QString& ) ), s, SLOT( writeClient( const QString& ) ) ); emit sendbuf( infield->text() );