Сохранение отображения выделения при потере фокуса ввода |
Здравствуйте, гость ( Вход | Регистрация )
Сохранение отображения выделения при потере фокуса ввода |
PAFOS |
21.1.2011, 10:55
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 258 Регистрация: 27.12.2010 Из: Дмитров Пользователь №: 2309 Спасибо сказали: 29 раз(а) Репутация: 8 |
Приветствую.
Необходимо, чтобы в QTableView, вне зависимости от состояния фокуса ввода, всегда была выделена текущая строка. Так же в модели в методе bool setData(const QModelIndex &index, const QVariant &value, int role) есть код:
Устанавливаю цвет фона так:
в палитре tableOrders alternateBase отличается от base В модели в методе QVariant data(const QModelIndex &idx, int role) const есть код:
Убедился, что этот код выполняется, когда QTableView перерисовывает ячейку, так же убедился что QBrush b содержит необходимый мне цвет заливки. Тем не менее цвет фона ячейки по-прежнему заливается "обычным" цветом. Есть варианты?) |
|
|
igor_bogomolov |
21.1.2011, 11:09
Сообщение
#2
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
|
|
|
PAFOS |
21.1.2011, 11:15
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 258 Регистрация: 27.12.2010 Из: Дмитров Пользователь №: 2309 Спасибо сказали: 29 раз(а) Репутация: 8 |
Если было бы все так просто...)
igor_bogomolov может не так понял суть задачи? Допустим есть два виджета на форме, один QTableView, другой QLineEdit. Когда выделяю ячейку в QTableView, тогда выделяется вся строка, тут да - setSelectionBehavior(QAbstractItemView::SelectRows) помогает Но когда я ставлю курсор ввода в QLineEdit, то выделение в QTableView перестается рисоваться, но текущая строка так и осталась. Затем снова тыкаю на QTableView (причем на пустое место) и выделение строки снова рисуется. Надо чтобы при тычке на QLineEdit, выделение в QTableView продолжалось рисоваться Сообщение отредактировал PAFOS - 21.1.2011, 11:22 |
|
|
igor_bogomolov |
21.1.2011, 11:34
Сообщение
#4
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
igor_bogomolov может не так понял суть задачи? Задачу то я понял. Вот только идею свою проверил не правильно. В дизайнере на QTableWidget при любых стилях (доступных мне на Linux) даже если перевести фокус ввода в QLineEdit, строка в таблице остаётся выделенной полностью. Да цвет её несколько меняется, но выделение остается. Вот я и поторопился с выводами. Приложите тогда минимальный пример, разберёмся. Мне лень сейчас свою модель писать и составлять тестовый пример. |
|
|
PAFOS |
21.1.2011, 22:08
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 258 Регистрация: 27.12.2010 Из: Дмитров Пользователь №: 2309 Спасибо сказали: 29 раз(а) Репутация: 8 |
Не стоит ниче писать)
Проблема была в теме оформления, используемой в системе. При других темах все правильно отображается |
|
|
Текстовая версия | Сейчас: 20.4.2024, 5:14 |