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

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