Russian Qt Forum
Ноябрь 24, 2024, 09:55 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: перерисовать QTableWidget - как?  (Прочитано 4686 раз)
mal
Гость
« : Апрель 26, 2010, 14:08 »

Ситуация: меняю размер высоты строк в таблице используя verticalHeader()->setDefaultSectionSize( int );
Делаю это так - зову модальный диалог, в спине меняю значение и шлю сигнал. Далее в слоте парента его отрабатываю.
При этом имеем следующий глюк (см. вложение) : строки таблицы перестраиваются, а вертикальный хедер перестраивается только после закрытия диалога.
Не помогает установить тип коннекта Qt::QueuedConnection, ни позвать в слоте принудительно update у QTableWidgeta, ни позвать udpate самого хедера - verticalHeader()->update().
Пробовал делать диалог немодальным - все равно поведение таблицы такое же.
После закрытия диалога хедер таблицы перестраиватся.
Вопрос - как принудительно сделать полный рефреш таблицы в моей ситуации?

Qt-4.6.1

*
попробовал плюс ко всему методы QTableWidget  render и repaint  - также никакого эффекта пока висит диалог.
« Последнее редактирование: Апрель 26, 2010, 14:32 от mal » Записан
alexman
Гость
« Ответ #1 : Апрель 26, 2010, 14:22 »

Попробуй void QTableView::setRowHeight ( int row, int height )?
Записан
mal
Гость
« Ответ #2 : Апрель 26, 2010, 14:31 »

не помогает.
verticalHeader()->setDefaultSectionSize( int ) - перестраивает высоту строк всей таблицы и если не юзать диалог, а изменять размер вслепую - то все отлично.
Но я хочу, чтоб юзер видел что и как он настраивает
Записан
mal
Гость
« Ответ #3 : Апрель 26, 2010, 15:18 »

Решил вот так :
Код:
void CWinpl::slot_set_row_height(int height)
{
// p_tbl - это QTableWidget*
p_tbl->verticalHeader()->setDefaultSectionSize( height );
p_tbl->setUpdatesEnabled(false);
p_tbl->verticalHeader()->hide();
p_tbl->verticalHeader()->show();
p_tbl->setUpdatesEnabled(true);
}

так срабатывает В замешательстве

Кутовый баг ? Непонимающий
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 21.