Russian Qt Forum

Qt => Общие вопросы => Тема начата: deaks от Декабрь 13, 2010, 17:15



Название: Изменение столбцов таблицы
Отправлено: deaks от Декабрь 13, 2010, 17:15
Как можно реализовать такую ситуацию,

когда столбцы необходимо растянуть по всей ширине таблице с помощью
Код:
horizontalHeader()->setResizeMode(QHeaderView::Stretch);
и при этом можно пользователь смог бы менять ширину колонок мышкой?так как по данному режиму в ассистанте написано
QHeaderView will automatically resize the section to fill the available space. The size cannot be changed by the user or programmatically.


Название: Re: Изменение столбцов таблицы
Отправлено: deaks от Декабрь 14, 2010, 15:48
неужели никому не приходилось выполнять такую задачу?)


Название: Re: Изменение столбцов таблицы
Отправлено: Kolobok от Декабрь 14, 2010, 16:37
Код:
horizontalHeader()->setStretchLastSection( true );


Название: Re: Изменение столбцов таблицы
Отправлено: SABROG от Декабрь 14, 2010, 17:19
Код:
horizontalHeader()->setStretchLastSection( true );
Как я понял, он хочет растягивать колонки по ширине виджета, но чтобы потом пользователь мог поменять размеры.

deaks, а выставить и снять флаг QHeaderView::Stretch после этого не пробовал?


Название: Re: Изменение столбцов таблицы
Отправлено: deaks от Декабрь 14, 2010, 17:30
не дождался ответа и сам нашел как раз setStretchLastSection)

но все равно спасибо=)


Название: Re: Изменение столбцов таблицы
Отправлено: deaks от Декабрь 14, 2010, 17:57
и еще вопрос -
задаю минимальный размер колонки и растягиваю последнюю
Код:
    ui->tblHosts->horizontalHeader()->setMinimumSectionSize(200);
    ui->tblHosts->horizontalHeader()->setStretchLastSection(true);

но когда запускаю с такими параметрами, то все колонки имеют размер около 50 пикселей, при этом последняя растянута по максимуму. если же щелкнуть на верхушку таблицы, то все колонки как раз принимают 200 - минимально заданную ширину.

как быть?а то некрасивая таблица получается.


Название: Re: Изменение столбцов таблицы
Отправлено: kirill от Декабрь 16, 2010, 15:57
Код:
view_->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents);
не поможет?