Название: QTreeView::resizeColumn<b>s</b>ToContents()... Отправлено: Cyrax от Января 10, 2008, 16:54 Можно ли одной командой отресайзить все столбцы дерева ?
Почему-то метода QTreeView::resizeColumnsToContents() нет. Есть только QTreeView::resizeColumnToContents(int)/// Название: Re: QTreeView::resizeColumn<b>s</b>ToContents()... Отправлено: Racheengel от Января 11, 2008, 01:44 QHeaderView::setResizeMode(QHeaderView::ResizeToContents) не поможет?
Название: Re: QTreeView::resizeColumn<b>s</b>ToContents()... Отправлено: Cyrax от Января 11, 2008, 13:23 Цитировать QHeaderView::setResizeMode(QHeaderView::ResizeToContents) не поможет? Решение, но работает немного некорректно.Ресайз действительно происходит, для всех стобцов, но кроме последнего. Причём независимо от ширины окна, в котором находится QTreeView. проверял с разной шириной окна. Ширина последнего столбца (остальные - по содержимому) минимизируется (с многоточиями) так, чтобы всё QTreeView влезло по ширине в окно без полос прокрутки. Если предыдущие столбцы (отрегулированные по ширине) не влезают в окно без полос прокрутки, то полосы прокрутки появляются, при этом последний столбец по-прежнему минимален по ширине (с многоточиями). Логика абсолютно непонятна... Название: Re: QTreeView::resizeColumn<b>s</b>ToContents()... Отправлено: Cyrax от Января 11, 2008, 23:01 Причём QHeaderView::setResizeMode(QHeaderView::ResizeToContents) блокирует возможность изменения ширины столбцов пользователем...
Название: Re: QTreeView::resizeColumn<b>s</b>ToContents()... Отправлено: Racheengel от Января 12, 2008, 02:16 ну так правильно, это помоему взаимоисключающие вещи...
либо одно, либо другое Название: Re: QTreeView::resizeColumn<b>s</b>ToContents()... Отправлено: Cyrax от Января 12, 2008, 10:28 Цитировать ну так правильно, это помоему взаимоисключающие вещи... Да, учитывая смысл команды (resizeMode).либо одно, либо другое Тогда этот вариант вообще никак не катит. Нужен разовый ресайз по всем столбцам: Цитировать QTreeView::resizeColumnsToContents() Название: Re: QTreeView::resizeColumn<b>s</b>ToContents()... Отправлено: Racheengel от Января 12, 2008, 13:40 Ресайз действительно происходит, для всех стобцов, но кроме последнего. Причём независимо от ширины окна, в котором находится QTreeView. проверял с разной шириной окна. Ширина последнего столбца (остальные - по содержимому) минимизируется (с многоточиями) так, чтобы всё QTreeView влезло по ширине в окно без полос прокрутки. Если предыдущие столбцы (отрегулированные по ширине) не влезают в окно без полос прокрутки, то полосы прокрутки появляются, при этом последний столбец по-прежнему минимален по ширине (с многоточиями). Это поведение похоже на баг. Надо проверить, и если баг, писать тролям репорт... А как понимать это: Нужен разовый ресайз по всем столбцам: и одновременно изменение размера пользователем?Можно вызвать QHeaderView::setResizeMode(QHeaderView::ResizeToContents), а потом сбросить этот самый ResizeMode в предыдущее состояние, тогда по идее можно будет ресайзить вручную. Название: Re: QTreeView::resizeColumn<b>s</b>ToContents()... Отправлено: ритт от Января 12, 2008, 17:05 со stretchLastSection пробовал баловаться?
|