QTableWidget nicht Editierbar

Alles rund um die Programmierung mit Qt
Antworten
jaegermeister
Beiträge: 70
Registriert: 11. August 2004 07:44
Wohnort: Bergen auf Rügen
Kontaktdaten:

QTableWidget nicht Editierbar

Beitrag von jaegermeister »

Hallo

Ich habe ein QTableWidget Object. Wenn ich auf eine Zelle Doppelklicke öffnet sich ein Dialogfenster. Ich möchte aber nicht das der Cursor dann in der Zelle steht um Text einzu geben.

In der Doku hab ich bis jetzt nichts gefunden. Meine Idee ist das entsprechende Signal zu disconnecten, das Problem ist aber daran das ich nicht weiß zu welchem Signal das Editieren gehört.

Falls jemand Idee hat bitte schreiben.
Danke im voraus.
mfg jaegermeister
Wie könnten ja wenn wir wollten, aber wie wollen ja nicht.
russkij
Beiträge: 57
Registriert: 14. Dezember 2005 11:57

Beitrag von russkij »

hi,

weiss nicht ob ich Dich richtig verstanden habe,
und ob es bei Dir so machbar ist, ich bentze

tabelle->setColumnReadOnly( 1, true );
danach ist allerdings ganze spalte nicht edietierbar, doppelklich ist dennoch möglich

gruss
jaegermeister
Beiträge: 70
Registriert: 11. August 2004 07:44
Wohnort: Bergen auf Rügen
Kontaktdaten:

Beitrag von jaegermeister »

Danke für die schnelle Antwort.
Die Funktion gibt es anscheinden nicht bei mir. Ich benutze Qt4.1 OpenSourceEdition.

Ich denke du hast mich richtig verstanden. Und im Prinzip sollen alle Zellen der Tabelle nicht Editierbar sein.
Wie könnten ja wenn wir wollten, aber wie wollen ja nicht.
MichaelS
Beiträge: 240
Registriert: 27. Dezember 2005 12:49

Beitrag von MichaelS »

Hallo,

QTableWidget erbt die Methode setSelectionMode. Die QT 4.1 Doku sagt dazu folgendes:
This property controls whether the user can select one or many items and, in many-item selections, whether the selection must be a continuous range of items.
Ein möglicher Modus ist 'QAbstractItemView::NoSelection'.

Ich denke, damit sollte Dein Problem zu lösen sein.

Gruß Michael
jaegermeister
Beiträge: 70
Registriert: 11. August 2004 07:44
Wohnort: Bergen auf Rügen
Kontaktdaten:

Beitrag von jaegermeister »

Hi,

nein das Löst mein Problem leider auch nicht. Ich kann zwar mit einem einfachen Klick keine Zelle mehr selektieren, aber ich kann immernoch mit einem Doppelklick in den Editiermodus gelangen.

mfg jaegermeister
Wie könnten ja wenn wir wollten, aber wie wollen ja nicht.
MichaelS
Beiträge: 240
Registriert: 27. Dezember 2005 12:49

Beitrag von MichaelS »

Hast Du schon einmal versucht, die Eigenschaft SelectionBehavior auf QAbstractItemView::SelectRows zu setzen? Dann kann keine einzelne Zelle mehr, sondern nur noch eine ganze Zeile markiert werden. Eigentlich sollte dann auch keine einzelne Zelle mehr in den Editier-Modus kommen (getestet hjabe ich es allerdings nicht).

Gruß Michael
jaegermeister
Beiträge: 70
Registriert: 11. August 2004 07:44
Wohnort: Bergen auf Rügen
Kontaktdaten:

Beitrag von jaegermeister »

Der gleiche Effekt wie zuvor. Und ich hab festgestellt das ich mit Tab auch noch in den Editiermodus komm wenn ich will.

Das ist ein Projekt für die Berufsschule, ich weiß nicht wie genau der Lehrer gucken wird. Das Problem ist wenn ich einfach in der Zelle editieren kann, müssten die Daten auch übernommen werden, damit im Dialog, der beim Doppelklick auf eine Zelle kommt, auch die richtigen Daten kommen.

Das kann man bestimmt auch machen, aber das wollte ich eigentlich nicht unbedingt. Es gibt in der anderen Tabelle ein vorauswahl von Werte und da denn die Eingabe immer zu berichtigen ist auch schon wieder mehr Aufwand, der für dieses Projekt nicht unbedingt erforderlich ist.
Deshalb wollte ich den einfacheren Weg gehen.

mfg jaegermeister
Wie könnten ja wenn wir wollten, aber wie wollen ja nicht.
MichaelS
Beiträge: 240
Registriert: 27. Dezember 2005 12:49

Beitrag von MichaelS »

Laut Trolltech-Forum löst die Funktion setEditTriggers das Problem. Mit dieser Funktion kann eingestellt werden, welche Aktionen eine Zelle in den Editmodus versetzen. Setz die Eigenschaft auf QAbstractItemView::NoEditTriggers und es sollte Schluss sein mit dem Editieren.

Gruß Michael
jaegermeister
Beiträge: 70
Registriert: 11. August 2004 07:44
Wohnort: Bergen auf Rügen
Kontaktdaten:

Beitrag von jaegermeister »

Danke das löst mein Problem. Ok für das nächste mal merk ich mir alle Einstellungen im Designer zu Probieren.

Danke das ihr euch die Zeit genommen habt.

mfg jaegermeister
Wie könnten ja wenn wir wollten, aber wie wollen ja nicht.
Antworten