QObject::connect Button mit FileDialog verbinden

riseX

Mitglied
Hallo,

mal wieder ne Frage zu QT.

Ich habe einen QToolButton und einen QString. Nun möchte ich als Aktion wenn der Button gedrückt wird den FileDialog öffnen und den Rückgabewert in einen String speichern.

Ich hab das mal folgendermaßen verkürzt.

Code:
QToolButton *getFileBut = new QToolButton(this);
QString *tempStr = new String();
QObject::connect(&getFileBut, SIGNAL(clicked()), &tempStr, SLOT( QFileDialog::getExistingDirectory("./", "All Files (*.*)", this,"Choose directory...")));


Fehlermeldung:
error: no matching function for call to `admintool::connect(QToolButton**, const char[11], const QString**, const char[88])'


Es kann natürlich sein, dass der Code Kraut und Rüben ist ... aber dennoch würde ich mich über ein wenig Hilfe freuen.

Gruß
riseX
 
Also aus der Dokumentation weiß ich(arbeite eigentlich nicht mit QT), das die MEthode connect() so aufgebaut ist:
bool connect ( const QObject * sender, const char * signal, const char * method,Qt::ConnectionType type = Qt::AutoConnection );
Dies unterscheidet sich jtzt zur Fehler Meldung im 1. und 3. Parameter.
Es müsste etwa so lauten:
QObject::connect(getFileBut, SIGNAL(clicked()), tempStr, SLOT( QFileDialog::getExistingDirectory("./", "All Files (*.*)", this,"Choose directory...")));
(Ich habe die '&' weggenommen)

Falls es unklar sein sollte, warum das so ist. Empfehle ichdir, die ein wenig mit der Übergabe von Zeigern zu beschäftigen.

mfg
Gene
 
Zurück