![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
dima154 |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 10.10.2009 Пользователь №: 1148 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Я определил свой класс :
Переопределил слот :
Но при выделении строки в виджете, слот не вызывается, а мне надо обрабатывать это выделение. Как я понимаю, надо присоединить этот слот к какому-то сигналу, но в QTableView и его родительских классах я похожих сигналов не нашел. Как решить данную проблему? Заранее спасибо всем ответившим! |
|
|
![]() |
dima154 |
![]()
Сообщение
#2
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 10.10.2009 Пользователь №: 1148 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Разобрался с проблемой.
Обрабатываю сигнал clicked(const QModelIndex&) c установленым флагом QAbstractItemView::SelectRows и из selectionModel вытаскиваю содержимое строки. CODE void MyTableView::slActivated(const QModelIndex &index){ index.row(); //Получили модель выбора QItemSelectionModel* selection = this->selectionModel(); //Получили модельные индексы модели выбора QModelIndexList indexes = selection->selectedIndexes(); //Выводим модельные индексы foreach(QModelIndex index,indexes){ qDebug()<<index.row()<<","<<index.column()<<"\t"<<index.data(Qt::DisplayRole).toString()<<"\n"; } } Ввел в заблуждение тот факт, что функция void selectRow ( int row ) была описана как [slot]. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 4.6.2025, 10:52 |