Seite 1 von 1

Beispiel Delegate funktioniert nicht

Verfasst: 23. August 2010 08:34
von sanni
Um eine Spalte einer SQL-Tabelle zu ändern brauche ich ein Delegate. Da der Inhalt ein QDateTime ist, ist das Ganze eigentlich auch nicht so schwierig, wenn man mal in die Doku schaut.
Das Beispiel SpinBoxDelegate habe ich fast 1:1 abtippen können (Bis auf die Tatsache, dass es ein QDateTimeEdit als Editor-Widget enthält). Danach noch mit table->setItemDelegateForColumn() zugewiesen und schon sollte es funktionieren. Es will aber nicht. :shock:

Habe ich da irgendwas übersehen?

Verfasst: 23. August 2010 08:41
von upsala
Glaskugel, Code, Bahnhof?

Verfasst: 23. August 2010 10:16
von sanni
Den Code habe ich fast komplett vom Beispiel abgetippt. Die einzigen Abweichungen habe ich schon beschrieben:

Z.B. im createEditor():

Code: Alles auswählen

QDateTimeEdit *editor = new QDateTimeEdit( parent );
editor->setTime( QDateTime::currentDateTime() );
return editor;
in der Anwendung.cpp:

Code: Alles auswählen

QItemDelegate *delegate = new Delegate( this );
table->setitemDelegateForColumn( 6, delegate );
Wenn ich in die Spalte der Tabelle klicke, bekomme ich keine Reaktion.
Die Struktur ist genau wie im Beispiel angeführt, also kann es doch nicht an den anderen Methoden des Delegate liegen oder?

Verfasst: 23. August 2010 10:54
von franzf
QTimeEdit != QDateTimeEdit.

Verfasst: 23. August 2010 13:25
von sanni
Nur ein Tippsfehler - sorry :?
Im Programmtext ist es richtig!!