Perché Qt aggiungere più di tre colonne quando uso restoreState () su un QTableWidget?
-
06-09-2019 - |
Domanda
Il mio codice è in qualche modo simile al seguente:
table = QTableWidget()
table.horizontalHeader().restoreState(settings.value("savedState"))
table.setColumnCount(3)
settings.setValue("savedState", table.horizontalHeader().saveState())
Se l'eseguo la prima volta che ci sono solo 3 intestazioni di colonna. La seconda volta ci sono 6 e la terza 9 ... La cosa strana è table.columnCount()
è sempre 3. Se rimuovo table.setColumnCount(3)
non ci sono colonne a tutti.
Perché succede questo ed è un bug o intenzionale?
UPDATE
L'aggiunta di table.clearContents()
prima table.setColumnCount(3)
ha reso il lavoro. Continuo a pensare che sia un bug.
Soluzione
Quali piattaforma e che versione Qt è questo? http://chaos.troll.no/~hhartz/tablecolumns.tar sembra funzionare bene che utilizza l'ultimo Qt 4.5
Altri suggerimenti
Che cosa succede con?
table = QTableWidget();
table.setColumnCount(3);
table.horizontalHeader().restoreState(settings.value("savedState"));
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow