Почему Qt добавляет более трех столбцов, когда я использую restoreState () для QTableWidget? - PullRequest
2 голосов
/ 27 мая 2009

Мой код выглядит примерно так:

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

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

Если я запускаю его в первый раз, то есть только 3 заголовка столбца. Второй раз - 6, а третий - 9 ... Странно то, что table.columnCount() - это всегда 3. Если я удаляю table.setColumnCount(3), то столбцов вообще нет.

Почему это происходит и является ли это ошибкой или преднамеренным?

UPDATE

Добавление table.clearContents() до того, как table.setColumnCount(3) заработало. Я все еще думаю, что это ошибка.

Ответы [ 2 ]

2 голосов
/ 28 мая 2009

Какая платформа и какая версия Qt? http://chaos.troll.no/~hhartz/tablecolumns.tar, кажется, работает нормально, используя последнюю версию Qt 4.5

0 голосов
/ 28 мая 2009

Что происходит с?

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