Ich zeige ein Popup-Menü, um einige Werte in einem QTableWidget auszuwählen. Das niedrigste Element ist ein "Modify list" -Eintrag. Wenn ich es auswähle, sollte automatisch ein neues Fenster erscheinen und die QComboBox sollte verschwinden und die Zelle kehrt in einen Qt :: DisplayRole-Zustand zurück.Wie kann ich einem QTableWidget mitteilen, die Bearbeitung einer Zelle zu beenden?
Jetzt Qt hat all die schönen API-Aufrufe wie QTableWidget.edit()
und QTableWidget.editItem()
, was ich suche wirklich für ein QTableWidget.endEditing()
, vorzugsweise ohne den Index der Zelle zu spezifizieren, obwohl ich, dass mit diesem Anruf bekommen könnte:
table.currentIndex()
... aber ich weiß nicht, ob ich garantieren kann, dass die aktuelle Zelle die Zelle ist, die ständig bearbeitet wird.
Gibt es eine API, um diese Art von Editoren zu schließen?
Ihr der erste hat funktioniert, der zweite nicht. Es spielt keine Rolle, dass es den Fokus verliert, weil ich einen modalen Dialog zeige. Ich werde diese Antwort als richtig bezeichnen, wenn niemand eine natürlichere Lösung vorschlagen wird. –
Ich habe gerade ein Beispiel gestartet, um EditTriggers zu testen, und es scheint zu funktionieren (C++, Qt 4.4.3). Ich kann auf jede Zelle und so klicken, aber ich kann nicht auf sie klicken, um sie zu bearbeiten oder irgendetwas. Ich weiß nicht, warum es nicht für dich funktioniert. * Achselzucken * –
Es geht darum, den Editor zu schließen, nicht in der Lage, es zu bearbeiten. Beim nächsten Doppelklick sollte der Editor wieder geöffnet werden. –