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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QCompleter, popup(), не работает setWordWrap [РЕШЕНО]  (Прочитано 4726 раз)
IgorK
Гость
« : Март 28, 2012, 14:01 »

Очень простой вопрос:
   
Код:
	QCompleter	*c = new QCompleter(model);
static_cast<QListView *>(c->popup())->setWordWrap(true);

Не работает, а должен. По идее нативный попуп у комплитера как у комбика - это лист вью, однако, такой выкрутас на комбике прокатывает, а на комплитере нет. Те видно, что листвьюха у комплитера раздвигает высоту ячеек, но перенос слов не делает, это как так вообще?  В замешательстве
« Последнее редактирование: Март 28, 2012, 15:17 от IgorK » Записан
mutineer
Гость
« Ответ #1 : Март 28, 2012, 14:11 »

а ты уверен что это именно QListView?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #2 : Март 28, 2012, 14:13 »

а ты уверен что это именно QListView?
Упало бы, если не QListView...
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Март 28, 2012, 14:16 »

Не работает, т.к. используется свой приватный делегат QCompleterItemDelegate.
Но это не баг, а фича, т.к. тролли нигде явно не указывают, что используют QListView.
Попробуй задействовать свой popup или установи свой делегат.
« Последнее редактирование: Март 28, 2012, 14:18 от GreatSnake » Записан

Qt 5.11/4.8.7 (X11/Win)
IgorK
Гость
« Ответ #4 : Март 28, 2012, 14:23 »

а ты уверен что это именно QListView?

Под дебагером проверить, кто там спрятался за этим указателем - минута времени. Кстати, даже если подсовывать свой листвью с установленным вордврапом - эффект будет такой-же, что еще раз доказывает нам, что листвью не виноват.
Записан
mutineer
Гость
« Ответ #5 : Март 28, 2012, 14:26 »

а ты уверен что это именно QListView?

Под дебагером проверить, кто там спрятался за этим указателем - минута времени.

Поставить qobject_cast или dynamic_cast еще быстрее;)
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #6 : Март 28, 2012, 14:31 »

Кстати, даже если подсовывать свой листвью с установленным вордврапом - эффект будет такой-же, что еще раз доказывает нам, что листвью не виноват.
А всё потому, что в QCompleter::setPopup() на вьюху навешивается QCompleterItemDelegate.
Выводы делай сам)
Записан

Qt 5.11/4.8.7 (X11/Win)
IgorK
Гость
« Ответ #7 : Март 28, 2012, 15:14 »

Кстати, даже если подсовывать свой листвью с установленным вордврапом - эффект будет такой-же, что еще раз доказывает нам, что листвью не виноват.
А всё потому, что в QCompleter::setPopup() на вьюху навешивается QCompleterItemDelegate.
Выводы делай сам)

Спасибо, пофиксил, помогло.
Интересно, зачем это тролевцам понадобилось?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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