Warum fügen Qt mehr als drei Spalten, wenn ich restore () verwenden, auf einem QTableWidget?

StackOverflow https://stackoverflow.com/questions/915352

  •  06-09-2019
  •  | 
  •  

Frage

Mein Code sieht irgendwie wie folgt aus:

table = QTableWidget()
table.horizontalHeader().restoreState(settings.value("savedState"))
table.setColumnCount(3)

settings.setValue("savedState", table.horizontalHeader().saveState())

Wenn ich es das erste Mal laufen sie gibt es nur 3 Spaltenüberschriften. Das zweite Mal gibt es 6 und die dritte 9 ... Das Merkwürdige ist table.columnCount() ist immer 3. Wenn i table.setColumnCount(3) entfernen gibt es überhaupt keine Spalten.

Warum ist das passiert und ist es ein Bug oder Absicht?

UPDATE

Hinzufügen table.clearContents() vor table.setColumnCount(3) es funktionieren gemacht. Ich denke immer noch, es ist ein Fehler.

War es hilfreich?

Lösung

Welche Plattform und welche Qt-Version ist das? http://chaos.troll.no/~hhartz/tablecolumns.tar scheint funktionieren mit neuesten Qt 4.5

Andere Tipps

Was passiert mit?

table = QTableWidget();
table.setColumnCount(3);
table.horizontalHeader().restoreState(settings.value("savedState"));
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top