Russian Qt Forum
Ноябрь 24, 2024, 22:03
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Автоматическая ширина колонок
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Автоматическая ширина колонок (Прочитано 8738 раз)
xTr1m
Гость
Автоматическая ширина колонок
«
:
Март 22, 2010, 10:06 »
Здравствуйте, есть QTableWidget. Задаю несколько колонок, теперь я хочу, что все колонки пропорционально увеличили свою ширину, заполнив таким образом всю ширину моего QTableWidget. Существует ли для этого специальный метод? Нашел resizeColumnsToContents, но это все же немного не то, что мне нужно. Или данную операцию нужно производить вручную?
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Автоматическая ширина колонок
«
Ответ #1 :
Март 22, 2010, 10:13 »
tableWidget->horizontalHeader()->setResizeMode( QHeaderView::Stretch );
Записан
Qt 5.11/4.8.7 (X11/Win)
xTr1m
Гость
Re: Автоматическая ширина колонок
«
Ответ #2 :
Март 22, 2010, 10:27 »
Спасибо большое. Правда, я сам тоже уже наткнулся. Никак не могу пока привыкнуть к столь всеобъемлющей справке по Qt. Просмотрев несколько разделов, думаю что уже все, наверное, просто этого нет. А потом, пока больше случайно, нахожу =)) Еще раз спасибо.
Записан
xTr1m
Гость
Re: Автоматическая ширина колонок
«
Ответ #3 :
Март 22, 2010, 10:33 »
Хотя нет, это не совсем то что нужно. Допустим есть 2 колонки шириной 10 и 20, а размер таблицы 40. В итоге я хотел бы получить колонки шириной 15 и 25, а QHeaderView::Stretch делает их обеих по 20. То есть все же получается, что нужно вручную? И что делать когда пользователь изменяет размер окна? Тогда понадобится пересчитывать ширину снова, а сигнала типа resize я у диалога не вижу
Записан
Makss
Гость
Re: Автоматическая ширина колонок
«
Ответ #4 :
Март 22, 2010, 10:45 »
tableWidget->setColumnWidth(0, 100);
tableWidget->horizontalHeader()->setResizeMode( QHeaderView::Stretch );
tableWidget->horizontalHeader()->setResizeMode( 0, QHeaderView::Fixed );
вот и будет у вас первая колнка 100 пикселей, а всё остальное растянется
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Автоматическая ширина колонок
«
Ответ #5 :
Март 22, 2010, 10:51 »
>>а сигнала типа resize я у диалога не вижу
есть такое событие у каждого виджета:
void QWidget::resizeEvent ( QResizeEvent * event ) [virtual protected]
Записан
Юра.
xTr1m
Гость
Re: Автоматическая ширина колонок
«
Ответ #6 :
Март 22, 2010, 11:26 »
Спасибо, теперь разобрался.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...