Russian Qt Forum
Ноябрь 27, 2024, 17:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QListWidget: как сделать автоматический подбор ширины по самой длинной строке?  (Прочитано 5879 раз)
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« : Июнь 16, 2011, 21:26 »

Здравствуйте!


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



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

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

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

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

Собираю информацию по крупицам
http://webhamster.ru
QtCoder
Гость
« Ответ #1 : Июнь 21, 2011, 09:24 »

QListView::Adjust ?
Записан
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #2 : Октябрь 12, 2012, 13:17 »

QListView::Adjust ?
Меня тоже заинтересовал этот вопрос. Правда, с точностью до наоборот, у меня слишком много пространства справа. Нельзя ли чуть-чуть поподробнее?
Записан
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #3 : Октябрь 14, 2012, 18:04 »

Получилось так. Породил класс от QListWidget. При заполнении посчитал максимальную ширину и сумму высот. И переопределил sizeHint.
На всякий случай определил setSizePolicy(Fixed, Fixed)
Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #4 : Октябрь 14, 2012, 23:43 »

Вот это было выдернуто из сорцов KDE:

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

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

Гугль в помощь
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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