Original geschrieben von AnubisTheKing
1: Du kannst im connect-Statment keine Daten direkt entragen, so wie du das mit Test probiert hast.
also du meinst SLOT( callopen_texture( "test" ) ) ist falsch weil fileselected seinen Datentyp an den slot weiter gibt? und ich hier also den gleichen Datentyp vorsehen muss?
Man kann nur TYPEN angeben!
Sagte ich bereits.
QString ist ein Typ, const QString& ist ein Typ, const char* ist ein Typ, "test" ist kein Typ.
Die Parameter müssen in Anzahl und Reihenfolge übereinstimmen, wobei man beim Slot von rechts nahc links welche weglassen kann (also der Slot kann weniger Parameter haben als das Signal).
Der korrekte Connect müsste lauten
Code:
QObject::connect( filedialog, SIGNAL(fileSelected ( const QString & )), this, SLOT( callopen_texture( const QString& ) ));
Die Deklaration des Slots im Header sieht dann ungefähr so aus
Code:
class MyClass
{
Q_OBJECT
private slots:
callopen_texture(const QString& filename);
};
also werden von dem signal immer automatisch Daten an den Slot übermittelt?
also wird von dem signal fileSelected ( const QString & )automatisch ein Qstring mit dem Pfad und Namend er Datei an den Slot übermittelt und ich muss bei meiner Funktion nur vorsehen das sie als Parameter ein Qstring bekommt?
Korrekt.
Ciao,
_
Lesezeichen