Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: corrado от Апрель 29, 2010, 12:48



Название: кликабельный текст
Отправлено: corrado от Апрель 29, 2010, 12:48
Здравствуйте

пытаюсь сделать виджет на основе QTableView, но мне еще нужен кликабельный текст внутри каждой ячейки, небольшой список. Я попытался сделать его с помощью QLabel и html, но он меняет формат (становится синим с подчеркиванием) и к тому же по правому клику выскакивает меню с возможностью скопировать текст ссылки, где я планировал сспрятать дополнительную информацию для себя.

Подскажите, пожалуйста, с помощью чего можно сделать такой виджет или просто такой эффект.

Заранее спасибо


Название: Re: кликабельный текст
Отправлено: Павел_F. от Апрель 29, 2010, 13:00
QLabel у которого переопределить mousePressEvent и mouseReleaseEvent.


Название: Re: кликабельный текст
Отправлено: corrado от Апрель 29, 2010, 14:02
QLabel у которого переопределить mousePressEvent и mouseReleaseEvent.

но мне нужно реагировать по разному на каждую строчку из этого списка,


Название: Re: кликабельный текст
Отправлено: m_ax от Апрель 29, 2010, 14:09
Цитировать
но мне нужно реагировать по разному на каждую строчку из этого списка,
QComboBox вам не подойдёт?

А так придётся писать свой виджет, наверно..


Название: Re: кликабельный текст
Отправлено: spectre71 от Апрель 29, 2010, 15:59
Разберись с делегатами (QAbstractItemDelegate)
Почитай раздел форума "Model-View-Controller (MVC)"
Почитай "Model/View Programming" в Qt Assistant


Название: Re: кликабельный текст
Отправлено: corrado от Апрель 30, 2010, 14:50
спасибо всем за помощь, разобрался, все же лучше работать с QLabel, он просто накладывается сверху и не нужно отрисовывать тоже самое, что делается в таблице. запретил выскакивание меню и навесил стилей на хтмл, сразу об этом не подумал, поскольку в документации видел сноску на небольшое кол-во поддерживаемых тегов и их св-в