Seite 1 von 1

QTableWidget Eingaben prüfen

Verfasst: 12. September 2007 07:38
von dust2
Hallo,
möchte Usereingaben in einem QTableWidget auf Gültigkeit prüfen.
Habe zum Aufruf der Überprüfungsfunktion das SIGNAL cellChanged ( int row, int column ) benutzt was auch funktioniert, allerdings wird das Signal natürlich ständig bei jedem Update jeder Tabellezelle gefeuert(hab das jetzt mit bool-Merkern verriegelt-geht aber das kanns doch nicht sein!)
Wäre es nicht besser die Überprüfung mit einem Key-Event auf die ENTER-Taste zu machen, aber wie krieg ich danach mein aktuelles Item, da ich
setSelectionBehavior(QAbstractItemView::SelectRows) habe und ENTER würde sich dann auf alle abgeleiteteten Tabellen im Mainwindow auswirken? Oder eine Kombination von div. Events und Signals?

Oder wie machen Profis sowas generell?

Danke...

Daniel

Re: QTableWidget Eingaben prüfen

Verfasst: 12. September 2007 08:35
von macman
dust2 hat geschrieben:allerdings wird das Signal natürlich ständig bei jedem Update jeder Tabellezelle gefeuert(hab das jetzt mit bool-Merkern verriegelt-geht aber das kanns doch nicht sein!)
Warum denn nicht? Was glaubst Du wohl wie oft das paintEvent aufgerufen wird? :-) Hat schon alles seine Richtigkeit, mach weiter so. Ansonsten käme vielleicht currentCellChanged in Frage. Das wird aufgerufen wenn sich der Focus ändert, der User muss ja die aktuelle Eingabe nicht mit Enter beenden. Er kann in eine andere Zelle klicken oder mit den Cursortasten, Esc oder Tab weiter springen. Er könnte auch das Programm beenden.

cellChanged passt schon, ich würde es genauso machen, inkl. Verriegelung beim initialen Befüllen der Tabelle.