Название: Выделить строку в QTableView Отправлено: ivans от Февраль 06, 2007, 10:31 Здравствуйте! Можно ли выделить (подсветить фон, сменить шрифт usw.) строку в QTableView в зависимости от входных данных? У меня есть модель производная от QAbstractListModel. Модель содержит набор некоторых структур, часть полей у которых отображается в виде столбцов таблицы. Одно из полей представляет собой пометку, в зависимости от состояния которой мне хотелось бы изменять внешний вид строки, отображающей данную структуру - при этом я не хочу использовать установку selection. Может быть как то можно добраться до widget, реализующего строку в целом или отдельные ячейки строки?
Название: Выделить строку в QTableView Отправлено: goer от Февраль 06, 2007, 18:15 Ну на самом деле установка типа выделения (setSelectionMode()) для того и предназначена, чтоб решить твою проблему. Если же ты не хочешь ее использовать, то она по видимому вызывает какой то побочный эффект? Может поделишься неприятностями использования установки selection и мы попытаемся устранить их причину, чтоб не изобретать велосипед заново....
Название: Выделить строку в QTableView Отправлено: ivans от Февраль 06, 2007, 20:52 Цитата: "goer" Ну на самом деле установка типа выделения (setSelectionMode()) для того и предназначена, чтоб решить твою проблему. Если же ты не хочешь ее использовать, то она по видимому вызывает какой то побочный эффект? Может поделишься неприятностями использования установки selection и мы попытаемся устранить их причину, чтоб не изобретать велосипед заново.... Нет, просто selection я уже использую для других целей. Мне нужно выделять некоторые записи дополнительно (и возможно одновременно с selection). Название: Выделить строку в QTableView Отправлено: bigirbis от Февраль 06, 2007, 22:10 Доверни метод QAbstractItemModel::data()
обработай Qt::FontRole, Qt::BackgroundRole, Qt::ForegroundRole Название: Выделить строку в QTableView Отправлено: ivans от Февраль 07, 2007, 00:12 Цитата: "bigirbis" Доверни метод QAbstractItemModel::data() обработай Qt::FontRole, Qt::BackgroundRole, Qt::ForegroundRole Да! Да!!! Мне пора на пенсию! Ведь я буквально пару дней назад когда делал модель, читал про эти роли и думал: шикарно - внешним видом можно рулить как угодно! :-D СПАСИБО! Название: Выделить строку в QTableView Отправлено: QCasper от Февраль 07, 2007, 02:35 Кстати меня давно мучает вопрос, как сделать чтобы по клику на одну ячейку выделялась вся строка?
Название: Выделить строку в QTableView Отправлено: Вячеслав от Февраль 07, 2007, 09:11 Цитата: "QCasper" Кстати меня давно мучает вопрос, как сделать чтобы по клику на одну ячейку выделялась вся строка? void setSelectionBehavior ( QAbstractItemView::SelectionBehavior behavior ) ? Название: Выделить строку в QTableView Отправлено: QCasper от Февраль 07, 2007, 12:49 Именно, спасибо!
Название: Re: Выделить строку в QTableView Отправлено: igmush от Февраль 15, 2010, 16:13 Доверни метод QAbstractItemModel::data() Помогите, пожалуйста, "довернуть" метод. Мне понятно как "подсветить" саму ячейку с отрицательным(или каким-либо другим) значением, но непонятно как подсветить весь ряд на основе анализа значения одной ячейки. Наверное, я туплю, но хоть убейте не пойму, как проверить значение не текущей колонки, а конкретной колонки в этом же ряду.обработай Qt::FontRole, Qt::BackgroundRole, Qt::ForegroundRole Спасибо заранее. Название: Re: Выделить строку в QTableView Отправлено: Kolobok от Февраль 15, 2010, 17:30 Помогите, пожалуйста, "довернуть" метод. Мне понятно как "подсветить" саму ячейку с отрицательным(или каким-либо другим) значением, но непонятно как подсветить весь ряд на основе анализа значения одной ячейки. Наверное, я туплю, но хоть убейте не пойму, как проверить значение не текущей колонки, а конкретной колонки в этом же ряду. Спасибо заранее. Код: QVariant data ( const QModelIndex & index, int role ) Название: Re: Выделить строку в QTableView Отправлено: igmush от Февраль 16, 2010, 07:56 Спасибо огромное! :D
Название: Re: Выделить строку в QTableView Отправлено: SABROG от Февраль 16, 2010, 09:18 Как я понял с помощью style sheet можно обработать hover только одной ячейки, т.е. строку подсветить при наведении мыши уже не получиться с помощью стилей?
Название: Re: Выделить строку в QTableView Отправлено: Danila_Bagrofff от Август 10, 2011, 14:56 А как программно установить выделение строки?
Вот нужно по нажатию, чтобы сделались активными(выделенными) определенные строки. Работаю с QTableView. Как это сделать? Код: qTblVwSearchDocs->setSelectionMode(QAbstractItemView::ContiguousSelection); Судя по всему из-за преопределенных функций бага с выделением... Название: Re: Выделить строку в QTableView Отправлено: Danila_Bagrofff от Август 10, 2011, 15:38 Все, понял, надо нормально переопределить и правильно указать строку =)
Код: void TableView::mouseDoubleClickEvent ( QMouseEvent *event ) |