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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Автоматическая ширина колонок  (Прочитано 8735 раз)
xTr1m
Гость
« : Март 22, 2010, 10:06 »

Здравствуйте, есть QTableWidget. Задаю несколько колонок, теперь я хочу, что все колонки пропорционально увеличили свою ширину, заполнив таким образом всю ширину моего QTableWidget. Существует ли для этого специальный метод? Нашел resizeColumnsToContents, но это все же немного не то, что мне нужно. Или данную операцию нужно производить вручную?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Март 22, 2010, 10:13 »

tableWidget->horizontalHeader()->setResizeMode( QHeaderView::Stretch );
Записан

Qt 5.11/4.8.7 (X11/Win)
xTr1m
Гость
« Ответ #2 : Март 22, 2010, 10:27 »

Спасибо большое. Правда, я сам тоже уже наткнулся. Никак не могу пока привыкнуть к столь всеобъемлющей справке по Qt. Просмотрев несколько разделов, думаю что уже все, наверное, просто этого нет. А потом, пока больше случайно, нахожу =)) Еще раз спасибо.
Записан
xTr1m
Гость
« Ответ #3 : Март 22, 2010, 10:33 »

Хотя нет, это не совсем то что нужно. Допустим есть 2 колонки шириной 10 и 20, а размер таблицы 40. В итоге я хотел бы получить колонки шириной 15 и 25, а QHeaderView::Stretch делает их обеих по 20. То есть все же получается, что нужно вручную? И что делать когда пользователь изменяет размер окна? Тогда понадобится пересчитывать ширину снова, а сигнала типа resize я у диалога не вижу
Записан
Makss
Гость
« Ответ #4 : Март 22, 2010, 10:45 »

tableWidget->setColumnWidth(0, 100);
tableWidget->horizontalHeader()->setResizeMode( QHeaderView::Stretch );
tableWidget->horizontalHeader()->setResizeMode( 0, QHeaderView::Fixed );

вот и будет у вас первая колнка 100 пикселей, а всё остальное растянется
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #5 : Март 22, 2010, 10:51 »

>>а сигнала типа resize я у диалога не вижу
есть такое событие у каждого виджета:
void QWidget::resizeEvent ( QResizeEvent * event )   [virtual protected]
Записан

Юра.
xTr1m
Гость
« Ответ #6 : Март 22, 2010, 11:26 »

Спасибо, теперь разобрался.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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