Pourquoi Qt ajouter plus de trois colonnes lors de l'utilisation restoreState () sur un QTableWidget?
-
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.
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