2013-12-07 2 views
1

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

Проблема проста: я не могу использовать такие сигналы, как активирован, щелкнул мышью и т. Д. Я хочу изменить материал в таблице треков. Просто выделив строку в именах альбомов tableView.

Описание: излучайте сигнал, когда пользователь меняет строку и узнает, в какой строке он сейчас.

ответ

0

См. Раздел Handling selection of items в документации Qt Model/Views.

По сути, вам нужно использовать selection model вашего QTableView, который имеет сигналы, когда выбор изменяется в таблице. Вы получаете доступ к модели выбора вида с помощью функции-члена selectionModel().

+0

Возможно, вы звоните слишком рано. Перед вызовом selectionModel() убедитесь, что ваш режим настроен. – Mat

+0

спасибо за ваше время, я не могу проголосовать за ур ответить :) –

1

Итак, я решил эту проблему следующим образом:

Во-первых, вы должны получить QItemSelectionModel после! таблица была заполнена:

QItemSelectionModel * select = ui-> tableView-> selectionModel();

Затем соедините сигнал "SelectionChanged" с вами собственную функцию SLOT:

подключения (выберите, SIGNAL (SelectionChanged (QItemSelection, QItemSelection)), это, SLOT (change_table()));