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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Размер выпадающего списка QCombobox  (Прочитано 5576 раз)
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« : Октябрь 16, 2017, 11:11 »

Есть QCombobox *cb. В его выпадающем списке пара десятков элементов. А показывает только 10 (со скроллингом).
Хотелось бы, чтобы показывал все, тем более что места на экране и в родительском виджете хватает
Игры с cb->view()->setSizePolicy ничего не дали.
Единственное, на что он среагировал: cb->view()->setFixedSize(300, 800);
То есть выход есть. Подсчитать требуемый размер и его установить. Но уж больно как-то громоздко и несимпатично получается. Нет ли какого-то родного способа?
Записан
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


Просмотр профиля
« Ответ #1 : Октябрь 16, 2017, 11:38 »

а установить через setMaxVisibleItems() ?
Записан
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #2 : Октябрь 16, 2017, 11:58 »

Hellraiser, отлично! Спасибо! Просто не знал такого метода. Век живи-... Улыбающийся
Записан
Day
Частый гость
***
Offline Offline

Сообщений: 290


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

Тогда уже до кучи... Давно мучаюсь с QListWidget. Проблема того же плана Ничего лучше не придумал, как высчитывать размеры итемов, суммировать и устанавливать setFixedSize(). Может быть там тоже есть какой-нибудь метод?
Записан
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


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

А с ним то что не так? Сколько менеджер компоновки ему даст, столько элементов он и отобразит. Просто просить надо не у него, а у менеджера. Ну или ставить ему фиксированный размер.
Записан
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #5 : Октябрь 16, 2017, 12:30 »

А с ним то что не так? Сколько менеджер компоновки ему даст, столько элементов он и отобразит. Просто просить надо не у него, а у менеджера.
В том-то и дело. Дает ему лайоут очень немного. И все игры с setSizePolicy ничего вразумительного не дают.
Цитировать
Ну или ставить ему фиксированный размер.
Так и делаю. Высчитываю высоту-ширину итемов в зависимости от размера фонта. При этом получается все очень приблизительно, экспериментально приходится подбирать коэффициенты. Геморно как-то все. Но если ничего лучше нет - остановимся на этом. Улыбающийся
Записан
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


Просмотр профиля
« Ответ #6 : Октябрь 16, 2017, 12:48 »

Вообще-то у менеджера можно попросить приоритет того или иного виджета. Называется сие чудо - стретч-фактор. Установить можно как в коде, так и в дизайнере. Подробнее. Для остальных - аналогично. Чем больше стретч - тем больше приоритет виджета.
Записан
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #7 : Октябрь 16, 2017, 13:06 »

Понял. Спасибо. Попробую.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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