QT4.3: QDataWidgetMapper

Alles rund um die Programmierung mit Qt
Antworten
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

QT4.3: QDataWidgetMapper

Beitrag von nando »

Hi,

kann mir jemand sagen, wie die Daten ueber den QDataWidgetMapper in das
Widget kommen?

Ich habe folgendes:

Code: Alles auswählen

	
MyTableModel *pModel = new MyTableModel;

QDataWidgetMapper *pMapper = new QDataWidgetMapper;
pMapper->setModel(pModel);	
QLineEdit *pTest = new QLineEdit(this);
pMapper->addMapping(pTest, 0);
pMapper->toFirst();
Aber irgendwie wird nix im LineEdit angezeigt... Warum ?
wie genau kommen die Daten ueber das Model/Mapper in das LineEdit ?


Gruss,
Nando
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Genau so. Ich kann keinen Fehler im gezeigten Code erkennen. Im Model stehen aber schon Daten?
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Beitrag von nando »

Ja, im Modell stehen daten...
die kann ich sehen, wenn ich QTableView mache und dann das modell setzte...

Jetzt habe ich herausgefunden, dass wenn ich ein StandardItemModel nehme anstelle des von QAbstractTableModel abgeleiteten Modells es funktioniert....
dann sehe ich aber in der QTableView keine Inhalte.... also die anzahl der spalten und zeilen stimmt zwar, aber es ist kein inhalt enthalten....
Dafuer funktioniert aber der oben gepostete Code mit dem QDataWidgetMapper..

HHHmmmm... Kann es sein, dass der QDataWidgetMapper nur mit Item-Modellen arbeiten kann ???
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Beitrag von nando »

So auch das habe ich rausgefunden,
man muss beim Modell beim liefern von Daten in der data(..) methode auch
die daten fuer die Qt::EditRole liefern...
Dann klappt es auch mit einem QAbastractTable Modell..


Jetzt bleibt nur noch die entscheidende frage..:

Wie kann ich wenn ich ein eigenes Widget mit dem QDataMapper nutze die aenderungen abfangen?????
scheinbar wird intern irgendwas wie setText oder setValue aufgerufen... oder wieso funktioniert das sonst standardmaessig mit QLineEdit, QSpinBox etc....
ich habe aber ein eigenes Widget, kein QLineEdit... wo ich die aenderungen brauche...
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Hier stehen alle relevanten Informationen mit Beispielen.
Antworten