QTableView Zelle editieren mit Eingabefeld und Button

Alles rund um die Programmierung mit Qt
Antworten
schmökertante
Beiträge: 13
Registriert: 5. Oktober 2010 15:09

QTableView Zelle editieren mit Eingabefeld und Button

Beitrag von schmökertante »

Hallo alle zusammen,
ich bin neu hier im Forum und muß jetzt auch mal eine Frage stellen, weil ich an einem Punkt bin, wo ich nicht mehr weiter komme. Es wird sicherlich nicht die Letzte sein, weil das Projekt hier ein sehr umfangreiches ist.

Das Thema ist ja bereits sehr oft diskutiert worden, der eine oder andere Beitrag hat mir auch schon weiter geholfen.

Ich habe ein QTableView und ein eigenes Delegate (abgeleitet von QItemDelegate). In der Funktion "createEditor" habe ich auch schon verschiedene Eingabefelder erzeugen können - funktioniert alles wunderbar - nur möchte ich dem Benutzer in einer Zelle nicht nur ein Eingabefeld (QLineEdit) sondern zusätzlich auch noch einen Button (QToolButton mit Beschriftung "...") zur Verfügung stellen, um aus einem Dialog Einstellungen/Werte/Konfigurationen/etc. übernehmen zu können.

Mein Lösungsansatz ist ein QWidget mit einem QLineEdit und einem QToolButton. Soweit so gut, aber die Erscheinugsform in der Zelle weicht von einem Standart Eingabefeld ab. Das QLineEdit bekommt z.B. nicht den Focus, auch der Rahmen ist geringfügig kleiner als die Zelle.

Gibt es hier andere Ansätze? Etwas, was einfacher ist? Hat jemand sowas schon mal gemacht. Im Prinzip ist das sowas wie das Eigenschaftsfenster im QDesigner.

Für Eure Antworten wäre ich dankbar.

Grüsse
Mario
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Sowas wie das Eigenschaftsfenster im Designer läst sich bei http://qt-apps.org finden.
schmökertante
Beiträge: 13
Registriert: 5. Oktober 2010 15:09

Beitrag von schmökertante »

Ja, qt-app.org habe ich auch schon durchstöbert, aber auch net wirklich was brauchbares gefunden.
Mit meinem Ansatz liege ich auf jeden Fall richtig, es kann nur irgend eine Kleinigkeit fehlen...
Antworten