Hallo!
Ich bin noch relativ neu in Qt.
Für den Einstieg möchte ich mir ein einfaches Backup-Programm schreiben.
Ich wollte das Ergebnis aus einem Dateiauswahl-Dialog in eine QLineEdit schreiben.
beim Versuch von
connect(showdir, SIGNAL(clicked()), line, SLOT(setText()));
erhalte ich erst beim Ausführen des Programms folgende Fehlermeldung:
Object::connect: No such slot QLineEdit::setText()
Ich verstehe das nicht, da setText in der Dokumentation ja als slot angegeben ist.
Weiß hier jemand Rat und kann mir sagen, wo mein Fehler liegt?
Vielen Dank schon mal + Grüße Michael
setText als slot bei QLineEdit
Re: setText als slot bei QLineEdit
Also in der Doku die _ich_ angeschaut habe, existiert kein Slot "setText()", sondern ein Slot "setText(const QString&)"..michibr hat geschrieben:Hallo!
Object::connect: No such slot QLineEdit::setText()
Ich verstehe das nicht, da setText in der Dokumentation ja als slot angegeben ist.
Ja, sorry. Mein Code lautet
hier erhalte ich ebenfalls die gleiche Fehlermeldung:
Code: Alles auswählen
connect(showdir, SIGNAL(clicked()), line, SLOT(setText("Eingabe")));oder gehe ich komplett falsch an die Sache heran?Object::connect: No such slot QLineEdit::setText("Eingabe")
Das ist richtig. Aber ich will eben string für const QString& einsetzen.
In der Methode, also:
funktioniert das einwandfrei, nur eben nicht beim slot.
Wie muss ich das hier machen?
In der Methode, also:
Code: Alles auswählen
line->setText("Eingabe");Wie muss ich das hier machen?
Ich wollte dich eigentlich darauf stossen, dass man Signals/Slots nur mit den in der Doku angegebenen Prototpyen verwenden darf und der Prototyp des Signals mit dem des Slots übereinstimmen muss!
Mit anderen Worten: du musst einen eigenen Slot implementieren welcher du dann mit clicked() connecten kannst.. und in diesem Slot kannst du dann setText(....whatever...) aufrufen...
Mit anderen Worten: du musst einen eigenen Slot implementieren welcher du dann mit clicked() connecten kannst.. und in diesem Slot kannst du dann setText(....whatever...) aufrufen...