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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTreeView::resizeColumn<b>s</b>ToContents()...  (Прочитано 5002 раз)
Cyrax
Гость
« : Января 10, 2008, 16:54 »

Можно ли одной командой отресайзить все столбцы дерева ?

Почему-то метода QTreeView::resizeColumnsToContents() нет.
Есть только QTreeView::resizeColumnToContents(int)///
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #1 : Января 11, 2008, 01:44 »

QHeaderView::setResizeMode(QHeaderView::ResizeToContents) не поможет?
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Cyrax
Гость
« Ответ #2 : Января 11, 2008, 13:23 »

Цитировать
QHeaderView::setResizeMode(QHeaderView::ResizeToContents) не поможет?
Решение, но работает немного некорректно.
Ресайз действительно происходит, для всех стобцов, но кроме последнего.
Причём независимо от ширины окна, в котором находится QTreeView. проверял с разной шириной окна. Ширина последнего столбца (остальные - по содержимому) минимизируется (с многоточиями) так, чтобы всё QTreeView влезло по ширине в окно без полос прокрутки. Если предыдущие столбцы (отрегулированные по ширине) не влезают в окно без полос прокрутки, то полосы прокрутки появляются, при этом последний столбец по-прежнему минимален по ширине (с многоточиями).

Логика абсолютно непонятна...
Записан
Cyrax
Гость
« Ответ #3 : Января 11, 2008, 23:01 »

Причём QHeaderView::setResizeMode(QHeaderView::ResizeToContents) блокирует возможность изменения ширины столбцов пользователем...
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #4 : Января 12, 2008, 02:16 »

ну так правильно, это помоему взаимоисключающие вещи...
либо одно, либо другое
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Cyrax
Гость
« Ответ #5 : Января 12, 2008, 10:28 »

Цитировать
ну так правильно, это помоему взаимоисключающие вещи...
либо одно, либо другое
Да, учитывая смысл команды (resizeMode).
Тогда этот вариант вообще никак не катит.

Нужен разовый ресайз по всем столбцам:
Цитировать
QTreeView::resizeColumnsToContents()
« Последнее редактирование: Января 12, 2008, 13:15 от Cyrax » Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #6 : Января 12, 2008, 13:40 »

Ресайз действительно происходит, для всех стобцов, но кроме последнего.
Причём независимо от ширины окна, в котором находится QTreeView. проверял с разной шириной окна. Ширина последнего столбца (остальные - по содержимому) минимизируется (с многоточиями) так, чтобы всё QTreeView влезло по ширине в окно без полос прокрутки. Если предыдущие столбцы (отрегулированные по ширине) не влезают в окно без полос прокрутки, то полосы прокрутки появляются, при этом последний столбец по-прежнему минимален по ширине (с многоточиями).

Это поведение похоже на баг. Надо проверить, и если баг, писать тролям репорт...

А как понимать это:
Нужен разовый ресайз по всем столбцам:
и одновременно изменение размера пользователем?

Можно вызвать QHeaderView::setResizeMode(QHeaderView::ResizeToContents), а потом сбросить этот самый ResizeMode в предыдущее состояние, тогда по идее можно будет ресайзить вручную.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
ритт
Гость
« Ответ #7 : Января 12, 2008, 17:05 »

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


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