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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Ширина колонки QTableView по тексту?  (Прочитано 9576 раз)
tguglanaklona
Гость
« : Апрель 05, 2011, 10:21 »

Хочу (вручную) поставить ширину колонки QTableView по тексту, который там лежит. Пишу

QFontMetrics metr = ui.tableView->fontMetrics();
int theWidestPxs = metr.width("Ссылка на самый длинный QString");
ui.tableView->setColumnWidth(col_Name,theWidestPxs);

Ширина колонки оказывается гораздо меньше.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Апрель 05, 2011, 10:56 »

забыл прибавить
Код
C++ (Qt)
style()->pixelMetric(QStyle::PM_HeaderMargin)

А чем не устроил
Код
C++ (Qt)
ui.tableView->horizontalHeader()->setResizeMode( col_Name, QHeaderView::ResizeToContents )
?
Записан

Qt 5.11/4.8.7 (X11/Win)
RoulanD
Гость
« Ответ #2 : Апрель 28, 2011, 06:12 »

Как у Excel так и у таблиц в Qt есть такая фишка. По двойному клику между Хедерами 2-х столбцов левый столбец уравнивается в ширине по самой большой строчке записанной в строках этого столбца. Вот этот двойной клик само собой вызывает какую то функцию, которая в посте ниже.
« Последнее редактирование: Апрель 28, 2011, 11:50 от RoulanD » Записан
RedDog
Гость
« Ответ #3 : Апрель 28, 2011, 08:14 »

Код:
void QTableView::resizeColumnsToContents ()
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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