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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Не выделяет строку  (Прочитано 2530 раз)
blood_shadow
Гость
« : Март 12, 2011, 11:47 »

Добрый день,
нужно выделить всю строку в представлении, модель accountModel
получаю текущую модель выделения:
Код
C++ (Qt)
selectionModel = tableView->selectionModel();
и подключаю сигнал:
Код
C++ (Qt)
connect(selectionModel, SIGNAL(currentChanged(QModelIndex , QModelIndex )),
           this, SLOT(selectRow(QModelIndex , QModelIndex )));

слот selectRow определен так:
Код
C++ (Qt)
void MailAccountTable::selectRow(const QModelIndex &current,
                                   const QModelIndex &previous)
{
 
   QItemSelection selection;
   selection.select(accountModel->index(current.row(), 0),
       accountModel->index(current.row(), accountModel->columnCount() - 1));
 
   selectionModel->select(selection,
                          QItemSelectionModel::Select);
 
   qDebug() << "Selection occurs";
 
}
 

то есть при выделении какого-нить элемента я вызываю слот selectRow и выделяю всю строку,
но проблема как раз в том что слот вызывается, но выделение строки не происходит, почему?
Записан
Disaron
Гость
« Ответ #1 : Март 13, 2011, 12:29 »

Если просто надо выделить строку, то зачем такие заморочи? Достаточно:
Код
C++ (Qt)
void setSelectionBehavior ( QAbstractItemView::SelectionBehavior behavior )
 
tableView->setSelectionBehavior(QAbstractItemView::SelectRows)

Или есть необходимость выделять в уже выделенном? о_О
Записан
blood_shadow
Гость
« Ответ #2 : Март 13, 2011, 15:48 »

Если просто надо выделить строку, то зачем такие заморочи? Достаточно:
Код
C++ (Qt)
void setSelectionBehavior ( QAbstractItemView::SelectionBehavior behavior )
 
tableView->setSelectionBehavior(QAbstractItemView::SelectRows)

Или есть необходимость выделять в уже выделенном? о_О
сделал тоже самое, просто хотел разобраться почему выше указанный мною способ не работает  Непонимающий
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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