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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: отслеживание клавиш вверх вниз по модели  (Прочитано 3139 раз)
koldun90
Крякер
****
Offline Offline

Сообщений: 345


Просмотр профиля
« : Октябрь 11, 2014, 10:01 »

Здравствуйте
Есть qfilesystemmodel представленный в qtreeview
соответственно при клике мышкой по дереву файловой системы испускается сигнал clicked ( const QModelIndex & index )
который собственно активирует слот on_treeview_clicked(const QModelIndex & index)
в этом слоте у меня прописано добавление абсолютного пути файла или папки в QStringlist
А вот мне нужно сделать так чтобы когда я нажимал клавиши вверх вниз(стрелочки) на клавиатуре(когда переходит выбор с одного поле на другое) у меня как бы активировался чтоли аналогичный сигнал  и чтобы туда передавался этот же QModelIndex
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Октябрь 11, 2014, 10:07 »

Переопределяйте в qtreeview keyPressEvent и keyReleaseEvent или используйте фильтр installEventFilter, и в них уже опрабатываете какие вам нужны клавиши, и шлите свои сигналы
Записан

koldun90
Крякер
****
Offline Offline

Сообщений: 345


Просмотр профиля
« Ответ #2 : Октябрь 11, 2014, 10:14 »

мне же нужно как бы послать сигнал не просто по нажатию клавиши вниз или вверх а чтобы туда передался QmodelIndex который в данный момент выбран (выделен синем) по аналогии как Treeview clicked

Код:
void mytreeview::keyPressEvent(QKeyEvent *event)  
{
    if (event->key()==Qt::Key_Up | event->key()==Qt::Key_Down)   /
    {
        emit signal()  // что мне тут передавать надо и скаким сишгалом/слотом связывать
    }
}
« Последнее редактирование: Октябрь 11, 2014, 11:09 от koldun90 » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #3 : Октябрь 11, 2014, 14:36 »

как бы нужно этот индекс самому вычислить через model->index(). чтение документации очень поможет.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
koldun90
Крякер
****
Offline Offline

Сообщений: 345


Просмотр профиля
« Ответ #4 : Октябрь 11, 2014, 18:40 »

если использовать index от qfilesystemmodel то как мне нужно в model->index(полный путь)
передать полный путь файла или папки..
Вопрос а как мне его узнать?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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