Название: QListView и QItemDelegate Отправлено: kolob от Июль 18, 2012, 23:36 Всем привет.
Подскажите как отобразить полноценные QLabel и QPushButton в ItemDelegate например как в приложении Free-tray (http://www.free-lance.ru/promo/freetray/) Вот часть кода: Код: void MyDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const QLabel отображается но при наведении на ссылку и клике на нее ни каких действий не происходит, в отличии от обычного поведения. Название: Re: QListView и QItemDelegate Отправлено: andrew.k от Июль 18, 2012, 23:47 QLabel отображается но при наведении на ссылку и клике на нее ни каких действий не происходит, в отличии от обычного поведения. Какие же действия будут происходить, если это не контрол, а статичный рисунок?Все нужно ручками обрабатывать. Щелчок мыши в editorEvent делегата. Там определяешь попала ли мышь в твою кнопку или нет. И высылаешь сигнал, который уже кто-то обрабатывает. Самостоятельно нужно определять состояние кнопки и отрисовывать нажатой или отключенной и т.п. На форуме, да и в гугле был пример с кнопкой в делегате. Но тут возникают проблемы со стилем. Отрисованная таким образом кнопка не будет без стиля, даже если для кнопок приложения будут заданы стили. Решить эту проблему я так и не смог. Короче, вид кнопки придется хардкодить в делегата фактически. Название: Re: QListView и QItemDelegate Отправлено: lighting от Июль 19, 2012, 11:17 kolob у тебя-же label уничтожается при выходе из метода рисования, когда ты по нему жмешь реагировать уже некому.
вот об этой теме говорил andrew.k, в комментах на хабре идет обсуждение минусов http://www.prog.org.ru/topic_19631_0.html Название: Re: QListView и QItemDelegate Отправлено: mutineer от Июль 19, 2012, 11:20 kolob у тебя-же label уничтожается при выходе из метода рисования, когда ты по нему жмешь реагировать уже некому. Кем или чем уничтожается label и по какой причине? Тут скорее наоборот имеет место нефиговая утечка памяти Название: Re: QListView и QItemDelegate Отправлено: andrew.k от Июль 19, 2012, 11:33 kolob у тебя-же label уничтожается при выходе из метода рисования, когда ты по нему жмешь реагировать уже некому. Кем или чем уничтожается label и по какой причине? Тут скорее наоборот имеет место нефиговая утечка памяти А я код не посмотрел даже) |