Por que Qt adicionar mais de três colunas quando eu uso restoreState () em um QTableWidget?

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

  •  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.

Foi útil?

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
scroll top