QTableWidget Eingaben prüfen

Alles rund um die Programmierung mit Qt
Antworten
dust2
Beiträge: 22
Registriert: 7. Juni 2007 16:16

QTableWidget Eingaben prüfen

Beitrag 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
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Re: QTableWidget Eingaben prüfen

Beitrag 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.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
Antworten