Название: перерисовать QTableWidget - как? Отправлено: mal от Апрель 26, 2010, 14:08 Ситуация: меняю размер высоты строк в таблице используя verticalHeader()->setDefaultSectionSize( int );
Делаю это так - зову модальный диалог, в спине меняю значение и шлю сигнал. Далее в слоте парента его отрабатываю. При этом имеем следующий глюк (см. вложение) : строки таблицы перестраиваются, а вертикальный хедер перестраивается только после закрытия диалога. Не помогает установить тип коннекта Qt::QueuedConnection, ни позвать в слоте принудительно update у QTableWidgeta, ни позвать udpate самого хедера - verticalHeader()->update(). Пробовал делать диалог немодальным - все равно поведение таблицы такое же. После закрытия диалога хедер таблицы перестраиватся. Вопрос - как принудительно сделать полный рефреш таблицы в моей ситуации? Qt-4.6.1 * попробовал плюс ко всему методы QTableWidget render и repaint - также никакого эффекта пока висит диалог. Название: Re: перерисовать QTableWidget - как? Отправлено: alexman от Апрель 26, 2010, 14:22 Попробуй void QTableView::setRowHeight ( int row, int height )?
Название: Re: перерисовать QTableWidget - как? Отправлено: mal от Апрель 26, 2010, 14:31 не помогает.
verticalHeader()->setDefaultSectionSize( int ) - перестраивает высоту строк всей таблицы и если не юзать диалог, а изменять размер вслепую - то все отлично. Но я хочу, чтоб юзер видел что и как он настраивает Название: Re: перерисовать QTableWidget - как? Отправлено: mal от Апрель 26, 2010, 15:18 Решил вот так :
Код: void CWinpl::slot_set_row_height(int height) так срабатывает :-\ Кутовый баг ? ??? |