Seite 1 von 1

editingFinished wird nicht ausgelöst

Verfasst: 25. März 2008 11:17
von pospiech
Ich habe eine Klasse doublelineedit die von qlineedit abgeleitet ist. In dieser fange ich editingFinished über folgendes Connect ab:

Code: Alles auswählen

connect(this, SIGNAL(editingFinished()), this, SLOT(checkValue())); 
Wenn ich in den doublelineedit widgets den Text aber ändere und den Fokus des widgets verlasse dann wird die Funktion checkValue() nicht aufgerufen.

Wenn ich hingegen

Code: Alles auswählen

connect(this, SIGNAL(textEdited(const QString &)), this, SLOT(setValueFromText (const QString &)));
abfange dann wird die Funktion 'setValueFromText ' auch aufgerufen.

Warum ?

Matthias

Verfasst: 25. März 2008 11:29
von Christian81
Vielleicht deshalb:
Note that if there is a validator() or inputMask() set on the line edit and enter/return is pressed, the editingFinished() signal will only be emitted if the input follows the inputMask() and the validator() returns QValidator::Acceptable.
Ggf. auch mal in qlineedit.cpp an den beiden Stellen, an denen das Signal erzeugt wird, einen Breakpoint setzen und schauen ob Du überhaupt dort ankommst.