QComboBox, предоставление возможности пользователю изменять размер выпадающего списка, т.е. во время выполнения |
Здравствуйте, гость ( Вход | Регистрация )
QComboBox, предоставление возможности пользователю изменять размер выпадающего списка, т.е. во время выполнения |
SABROG |
10.12.2008, 17:26
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Многие пользователи IE замечали, что у выпадающего списка combobox'a (option) можно менять размеры, однако у стандартных элементов Windows (API) такого уголка нет. Он также не используется в стандартном QComboBox'e. Вот способ, как его добавить:
Несмотря на то, что решение кажется простым и легким, чтобы его найти я сегодня потратил целый день. Скажу лишь, что есть второй способ это сделать без setCornerWidget, но он полон подводных камней, типа расположения уголка в левой верхней части вместо нижней правой, это решается через layout()->addWidget() с нужными параметрами выравнивания, однако возникает другой косяк с тем, что QBoxLayout (используемый по умолчанию в QListView) делит видимую область выпадающего списка на две равные половины, а это мне победить не удалось ни установкой максимальных размеров ни приминением sizePolicy. Статья в вики Сообщение отредактировал Litkevich Yuriy - 11.2.2009, 19:50
Причина редактирования: подкорректировал название
|
|
|
Litkevich Yuriy |
10.12.2008, 18:21
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
SABROG, ты не мог бы добавить это в нашу Вики, точнее в ЧаВо
|
|
|
SABROG |
10.12.2008, 18:54
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
SABROG, ты не мог бы добавить это в нашу Вики, точнее в ЧаВо Добавил. Правда как картинку впихнуть так и не понял, внешние ссылки не работают видимо (html тэги не пробывал). |
|
|
Litkevich Yuriy |
10.12.2008, 19:11
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Tonal |
15.12.2008, 12:12
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17 |
Про растягивание: если ни один из скроллеров не виден, то и уголок не появится.
Чтобы он гарантированно появлялся, нужно сделать один из скроллеров всегда видимым, например вертикальный:
Сообщение отредактировал Tonal - 15.12.2008, 12:13 |
|
|
Litkevich Yuriy |
15.12.2008, 12:37
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
а тут пожалуй и нормально, если содержимое не умещается, то линейка прокрутки появляется автоматом, тогда и уголок будет.
|
|
|
Tonal |
16.12.2008, 13:17
Сообщение
#7
|
Активный участник Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17 |
Вертикальная - да, а горизонтальная там всегда задизаблина.
Так что есть есть длинная строка то уголок не помешает. |
|
|
SABROG |
16.12.2008, 13:40
Сообщение
#8
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
|
|
|
Litkevich Yuriy |
16.12.2008, 16:06
Сообщение
#9
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Litkevich Yuriy |
31.1.2009, 12:14
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Один из читателей вики утверждает, что этот приём не работает в Линуксе, может кто-нибудь проверить?
|
|
|
Текстовая версия | Сейчас: 25.4.2024, 2:55 |