Pourquoi Qt ajouter plus de trois colonnes lors de l'utilisation restoreState () sur un QTableWidget?

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

  •  06-09-2019
  •  | 
  •  

Question

Mon code ressemble en quelque sorte comme ce qui suit:

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

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

Si je lance la première fois, il n'y a que trois têtes de colonne. La deuxième fois il y a 6 et le troisième 9 ... La chose étrange est table.columnCount() est toujours 3. Si je supprime table.setColumnCount(3) il n'y a pas de colonnes du tout.

Pourquoi est-ce qui se passe et est-ce un bug ou intentionnel?

UPDATE

Ajout table.clearContents() avant table.setColumnCount(3) fait fonctionner. Je pense toujours que c'est un bug.

Était-ce utile?

La solution

Quelle plate-forme et quelle version Qt est-ce? http://chaos.troll.no/~hhartz/tablecolumns.tar semble fonctionner correctement en utilisant les dernières Qt 4.5

Autres conseils

Qu'est-ce qui se passe avec?

table = QTableWidget();
table.setColumnCount(3);
table.horizontalHeader().restoreState(settings.value("savedState"));
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top