Hallo Forum,
ich verwende das QTableWidget mit den Komponenten
QTableWidgetItem und QCombobox. Die QTableWidgetItem's
weise ich mit der Methode setItem zu, die QCombobox'en mit
der Methode setCellWidget. So entsteht ein Grid mit mehreren
Texteldern (QTableWidgetItem) und Auswahlboxen (QCombobox).
Mein Problem:
Wie kann ich feststellen welche QCombobox gerade den Fokus hat?
Hat ein QTableWidgetItem den Fokus, so kann ich dies über die Methode
QTableWidget ->currentRow() erfragen. Bei den Feldern mit der QCombobox
funktioniert das nicht.
Kann mir jemand helfen?
Ich verwende QT-4.6.3.
QCombobox in QTableWidget[gelöst]
QCombobox in QTableWidget[gelöst]
Zuletzt geändert von jasper am 1. Dezember 2011 17:23, insgesamt 1-mal geändert.
Re: QCombobox in QTableWidget
...nun habe ich die Lösung selber gefunden, auch wenn sie nicht sehr schön ist:
- jede QComBoBox bekommt über setObjectName("Name"+Nr) einen eindeutigen Namen
vor der Zuweisung QTablesWidget->setCellWidget(..).
- alle QComboBox'en bekommen ein und denselben slot
- in diesem slot kann man nun mit der Methode
QTabletWidget->focusWidget()->objectName() die entsprechende
QComboVox erkennen und mit der Nr. im Namen auch die Zeilennummer
Geht das auch eleganter?
- jede QComBoBox bekommt über setObjectName("Name"+Nr) einen eindeutigen Namen
vor der Zuweisung QTablesWidget->setCellWidget(..).
- alle QComboBox'en bekommen ein und denselben slot
- in diesem slot kann man nun mit der Methode
QTabletWidget->focusWidget()->objectName() die entsprechende
QComboVox erkennen und mit der Nr. im Namen auch die Zeilennummer
Geht das auch eleganter?