QTableWidget Bearbeiten nur einer Spalte und der rest ist nicht editierbar

In QT 4.7, bin ich versucht zu machen, ein QTableWidgetItem in einem QTableWidget bearbeitet und der rest alle Spalten gelesen werden soll, nur für mich. Ich habe Probleme hier.

Habe ich überprüft eine Reihe von Proben durch google und stackoverflow, aber versäumt, dies zu erreichen. Einige der Optionen, die ich habe versucht sind,

Erstelle ich Zeilen durch Aufruf der Methode insertRow(rownumber) für das hinzufügen von Zeilen.

  1. Versuch 1: ich habe Folgendes beim einfügen einer Zeile dynamisch
    • Aktivieren, Edit-Trigger in der UI-Dialog
    • Spalten hinzuzufügen, verwenden Sie den folgenden code zum deaktivieren Bearbeiten

      QTableWidgetItem qit("");
      qit.setflags(qit.flags() & ~Qt::ItemIsEditable)
      qtable.setitem(row,column, &qit);

    • Und für die anderen Spalten, die ich nicht setzen Sie das Kennzeichen

    Dieser obige Ansatz nicht funktioniert. Ich bin in der Lage, Bearbeiten Sie alle Spalten (sogar die, die ich negiert die Bearbeitbare option)

  2. Trial 2:
    Tun alle der oben mit nur qtable.setEditTriggers(Qt::NoEditTriggers) und legen Sie dann die Spalten editierbare wo es erforderlich ist.

    Aber diese option macht alle Spalten, die nicht editierbar.

Aber ich sehe nicht, dass jemand beschwert, wie dies in irgendwelchen Foren. Also ich muss machen einige dumme Fehler.

Jemand in einer solchen Frage, wenn ja bitte helfen Sie durch die Beantwortung.

InformationsquelleAutor Muthu | 2013-09-30

Schreibe einen Kommentar