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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Url в QStandardItemModel  (Прочитано 2473 раз)
pichini
Гость
« : Апрель 10, 2012, 16:23 »

Все привет!
Подскажи можно ли, и как лучше сделать?
Хочу чтобы в одной из колонок выводилась ссылка и выглядела как ссылка, ну и сообственно обработка нажатия и открытие в браузере.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


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


Просмотр профиля WWW
« Ответ #1 : Апрель 10, 2012, 16:42 »

Используй свой делегат. Поищи по форуму, уже обсуждалось.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
pichini
Гость
« Ответ #2 : Апрель 11, 2012, 11:27 »

Спасибо!
Сразу склонялся к делегатам, но до этого опыт работы с ними был только со стороны редактирования...
К тому же здесь представлено несколько разных вариантов реализации метода paint, разобраться и понять что к чему, заняло достаточно продолжительное время. В итоге остановился на следующем варианте:

Код
C++ (Qt)
void LinkItemDelegate::paint (QPainter * painter,
                             const QStyleOptionViewItem & option,
                             const QModelIndex & index ) const
{
   QStyleOptionViewItemV4 myOption = option;
   myOption.font.setUnderline(true);
   myOption.palette.setColor(QPalette::Text, Qt::blue);
   QStyledItemDelegate::paint(painter, myOption, index);
}

Открытие ссылки через: void QAbstractItemView::doubleClicked( const QModelIndex & index )   [signal]

В идеале еще бы курсор менять при наведении, но решил на это пока забить...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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