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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО]QTableView выделение строки и колонки на пересечении ячейки  (Прочитано 656 раз)
Larry
Программист
*****
Offline Offline

Сообщений: 556



Просмотр профиля
« : Август 06, 2018, 13:53 »

Добрый день, форумчане.
Возник вопрос. Как можно выделить строку и колонку одновременно при наведении мышки на ячейку?
Спасибо.
« Последнее редактирование: Август 07, 2018, 14:50 от Larry » Записан
zhbr
Новичок

Offline Offline

Сообщений: 34


Просмотр профиля
« Ответ #1 : Август 07, 2018, 07:30 »

вот это по клику. по наведению надо видимо отлавливать QMouseEvent
Код:
void MainWindow::on_tableView_clicked(const QModelIndex& index)
{
    ui->tableView->selectionModel()->clear();
    int rows = _model.rowCount();
    int columns = _model.columnCount();
    for (int i = 0; i < rows; i++)
        for (int j = 0; j < columns; j++)
            if (i == index.row() || j == index.column())
                ui->tableView->selectionModel()->select(_model.index(i, j), QItemSelectionModel::Select);
}
Записан
Larry
Программист
*****
Offline Offline

Сообщений: 556



Просмотр профиля
« Ответ #2 : Август 07, 2018, 08:04 »

Спасибо. Попробую...
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1823



Просмотр профиля WWW
« Ответ #3 : Август 07, 2018, 10:39 »

Еще, думаю через Qt Style Sheet можно будет настроить на выделение ячеек
Записан

Larry
Программист
*****
Offline Offline

Сообщений: 556



Просмотр профиля
« Ответ #4 : Август 07, 2018, 11:32 »

Спасибо. А как сделать через QStyleSheet, не подскажите?
Сейчас сделал, через наследование QTableView и отлавливаю mouseMoveEvent, но за счет обновления всей модели (состояние ячейки) происходят тормоза, особенно заметно при быстром перемещении..
Записан
Larry
Программист
*****
Offline Offline

Сообщений: 556



Просмотр профиля
« Ответ #5 : Август 07, 2018, 14:49 »

Переделал, как предлагал, zhbr (перед этим делал свою реализацию), то в принципе приемлемо по быстродействию. Можно вопрос считать решенным.
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1823



Просмотр профиля WWW
« Ответ #6 : Август 07, 2018, 15:23 »

@Larry, похоже не получится -- думал это как в CSS/HTML для таблиц будет
Записан

Larry
Программист
*****
Offline Offline

Сообщений: 556



Просмотр профиля
« Ответ #7 : Август 07, 2018, 15:53 »

Спасибо. Но и с обработкой mouseMoveEvent, нормально работает.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

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