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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTableView. Как узнать номер колонки по которой призведен клик при ::SelectRows?  (Прочитано 4108 раз)
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« : Март 30, 2016, 15:13 »

Наткнулся на такую проблему, не знаю как обойти. Если QTableView настроить на выделение строки:

Код:
setSelectionBehavior(QAbstractItemView::SelectRows);

то тогда метод QModelIndex.column() для табличного курсора всегда будет возвращать 0, независимо от того, в какую колонку кликнул пользователь:

Код:
QModelIndexList selectItems=selectionModel()->selectedIndexes();
QModelIndex index=selectItems.at(0);
qDebug() << "Click on column: " << index.column();

Click on column: 0

Таким образом получается, что невозможно узнать, по какому столбцу был произведен клик.

Или можно узнать номер столбца? А как?
Записан

Собираю информацию по крупицам
http://webhamster.ru
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Март 30, 2016, 15:40 »

Т.е. вы выбрали выделение строки, запросили список выделенных ячеек, из списка всегда берете первую и удивляетесь, что первая выделенная ячейка для строки имеет первый столбец? Улыбающийся

Попробуйте использовать http://doc.qt.io/qt-4.8/qitemselectionmodel.html#currentIndex
Записан

Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Март 31, 2016, 04:30 »

Таким образом получается, что невозможно узнать, по какому столбцу был произведен клик.

Или можно узнать номер столбца? А как?
Ну никто не запретит повесить фильтр на mousePressed, но неясно где/как Вы собираетесь это использовать. Напр юзер меняет selection с клавы - какая тогда колонка ожидается?
Записан
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« Ответ #3 : Март 31, 2016, 12:10 »

Попробуйте использовать http://doc.qt.io/qt-4.8/qitemselectionmodel.html#currentIndex

Это сработало, благодарю.
Записан

Собираю информацию по крупицам
http://webhamster.ru
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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