crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Отображение виджета в режиме просмотра таблицы
DarkAngel
  опции профиля:
сообщение 13.7.2009, 13:38
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 12
Регистрация: 13.7.2009
Пользователь №: 903

Спасибо сказали: 0 раз(а)




Репутация:   0  


Приветствую!
В Qt я пока еще новчек, поэтому если решение тривиально, то прошу направить меня в соответствующий раздел справки :)
Суть такова: есть tableView, столбцы которого - стандартные виджеты(QComboBox, QDateEdit, QSpinBox... etc). Естественно, используется паттерн Model/View. Но вся загвоздка, для меня, состоит в том, что один из столбцов должен содержать виджеты-гиперссылки(с этм проблем нет), которые отображались бы(и, конечно, реагировали на действия ползователя) в режиме просмотра таблицы. В режиме же редактиирования, эти ячейки должны быть пустыми(без виджета). Возможно ли это реализовать?

офф: снесите дубль, плиз. инет глюканул...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 15.7.2009, 17:51
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(DarkAngel @ 15.7.2009, 21:19) *
Мне думаетья, что в createEditor(),
эта функция создаёт виджет-редактор, он используется для редактирования данных находящихся в модели.
А тебе нужно
Цитата(DarkAngel @ 13.7.2009, 17:38) *
должен содержать виджеты-гиперссылки(с этм проблем нет), которые отображались бы(и, конечно, реагировали на действия ползователя) в режиме просмотра таблицы.
Т.е.
1) в ячейке нужно нарисовать текст с подчёркиванием и синим шрифтом (так возникает асоциация ссылки у пользователя)
2) Если ссылки должны быть активными, то при одинарном щелчке на ячейку нужно посылать сигнал с параметром-строкой равным ссылке.

1) реализуется в функции делегата QItemDelegate::drawDisplay
2) я думаю можно сделать наследника от представления, где будет обрабатываться событие "щелчёк мышью" и когда этот щелчёк был там где нужно посылать сигнал.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.4.2024, 4:20