Por que Qt adicionar mais de três colunas quando eu uso restoreState () em um QTableWidget?
-
06-09-2019 - |
Pergunta
Meu código parece de alguma forma como o seguinte:
table = QTableWidget()
table.horizontalHeader().restoreState(settings.value("savedState"))
table.setColumnCount(3)
settings.setValue("savedState", table.horizontalHeader().saveState())
Se eu executá-lo a primeira vez que há apenas 3 cabeçalhos das colunas. A segunda vez há 6 eo terceiro 9 ... O estranho é table.columnCount()
é sempre 3. Se eu remover table.setColumnCount(3)
não há colunas em tudo.
Por que isso está acontecendo e é um bug ou intencional?
Atualização
Adicionando table.clearContents()
antes table.setColumnCount(3)
fez funcionar. Eu ainda acho que é um bug.
Solução
Qual plataforma e qual a versão Qt é isso? http://chaos.troll.no/~hhartz/tablecolumns.tar parece ao belo trabalho usando a mais recente Qt 4.5
Outras dicas
O que acontece com?
table = QTableWidget();
table.setColumnCount(3);
table.horizontalHeader().restoreState(settings.value("savedState"));
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow