Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: xintrea от Июнь 16, 2011, 21:26



Название: QListWidget: как сделать автоматический подбор ширины по самой длинной строке?
Отправлено: xintrea от Июнь 16, 2011, 21:26
Здравствуйте!


Есть у меня такое окно настроек:

(http://i.piccy.info/i5/50/34/1633450/scr_202.png)

Оно сделано по стандартному примеру Config Dialog Example, который есть в документации.

Видно, что список слева не растягивается так, чтобы вместить в себя текст всех пунктов без горизонтальной прокрутки.

Вопрос 1. Какое свойство как нужно установить, чтобы этот QListWidget автоматически менял свой размер так, чтобы показывать содержимое без прокрутки?

Вопрос 2. Если такого свойства нет, то какой метод QListWidget можно вызвать, чтобы QListWidget пересчитал свою геометрию и стал показывать содержимое без прокрутки?


Название: Re: QListWidget: как сделать автоматический подбор ширины по самой длинной строке?
Отправлено: QtCoder от Июнь 21, 2011, 09:24
QListView::Adjust ?


Название: Re: QListWidget: как сделать автоматический подбор ширины по самой длинной строке?
Отправлено: Day от Октябрь 12, 2012, 13:17
QListView::Adjust ?
Меня тоже заинтересовал этот вопрос. Правда, с точностью до наоборот, у меня слишком много пространства справа. Нельзя ли чуть-чуть поподробнее?


Название: Re: QListWidget: как сделать автоматический подбор ширины по самой длинной строке?
Отправлено: Day от Октябрь 14, 2012, 18:04
Получилось так. Породил класс от QListWidget. При заполнении посчитал максимальную ширину и сумму высот. И переопределил sizeHint.
На всякий случай определил setSizePolicy(Fixed, Fixed)


Название: Re: QListWidget: как сделать автоматический подбор ширины по самой длинной строке?
Отправлено: navrocky от Октябрь 14, 2012, 23:43
Вот это было выдернуто из сорцов KDE:

http://code.google.com/p/urtconnector/source/browse/src/preferences/src/detail/delegate.h

Получится вот так: