crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Перехватить все события мыши, Как будто нажали мышку и тянем
Obey-Kun
  опции профиля:
сообщение 31.1.2011, 4:19
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 96
Регистрация: 24.3.2010
Пользователь №: 1556

Спасибо сказали: 3 раз(а)




Репутация:   0  


Здравствуйте. Проблема такая. У меня в одном виджете есть ручной скроллинг. Зажали правую кнопку → тащим. Оно прокручивается. Причём когда курсор достигает края экрана, он перепрыгивает на противоположную его (экрана) сторону — как в Okular.

Теперь хочу реализовать прокрутку с зажатым пробелом. То есть так: зажали пробел → двигаем курсором. Проблема в том, что если мы зажимаем на виджете кнопку мыши и водим курсором, то он ловит все события с неё — даже если она выйдет за края окна. Как можно заставить его делать так же в случае с пробелом?

Кто-нибудь такое реализовывал?

upd: вот только что нашёл по теме http://forum.sources.ru/index.php?showtopic=302429 (правда, у него там ничего и не получилось, вроде).

Сообщение отредактировал Obey-Kun - 31.1.2011, 4:26
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Алексей1153
  опции профиля:
сообщение 31.1.2011, 11:38
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


оть :)
#include <QtDebug>
void CMy::keyPressEvent(QKeyEvent *e)
{
    qDebug()<<"press";    
}

void CMy::keyReleaseEvent(QKeyEvent *e)
{
    if(!e->isAutoRepeat())
    {
        qDebug()<<"release";    
    }
    else
    {
        qDebug()<<"repeating release";    
    }
}


Цитата
press
repeating release
press
repeating release
press
repeating release
press
repeating release
press
repeating release
press
repeating release
press
repeating release
press
repeating release
press
repeating release
press
repeating release
press
repeating release
press
repeating release
press
release


Цитата(igor_bogomolov @ 31.1.2011, 13:33) *
События нажатия кнопки мыши будет повторяться пока ты не отпустишь кнопку

мыши ?

Сообщение отредактировал Алексей1153 - 31.1.2011, 11:38
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Obey-Kun   Перехватить все события мыши   31.1.2011, 4:19
- - Алексей1153   >>Как можно заставить его делать так же в сл...   31.1.2011, 10:43
- - igor_bogomolov   Цитата(Алексей1153 @ 31.1.2011, 10:43) ко...   31.1.2011, 10:48
- - Алексей1153   igor_bogomolov, а что именно должно быть не просто...   31.1.2011, 11:07
- - igor_bogomolov   Цитата(Алексей1153 @ 31.1.2011, 11:07) ig...   31.1.2011, 11:20
- - Алексей1153   igor_bogomolov, при отпускании должна вызваться ke...   31.1.2011, 11:23
- - igor_bogomolov   ты опять меня не понял. keyReleaseEvent будет прих...   31.1.2011, 11:25
- - Алексей1153   как так щас проверю   31.1.2011, 11:27
- - igor_bogomolov   ну ё моё, ну Алексей, ты что? События нажатия кно...   31.1.2011, 11:33
- - Алексей1153   оть #include <QtDebug> void CMy:...   31.1.2011, 11:38
- - igor_bogomolov   Цитата(Алексей1153 @ 31.1.2011, 11:38) мы...   31.1.2011, 11:39
- - Алексей1153   ну неважно - способ я только что нашёл и проверил.   31.1.2011, 11:40
- - igor_bogomolov   Цитата(Алексей1153 @ 31.1.2011, 11:38) e-...   31.1.2011, 11:45
- - Алексей1153   ага void CMy::mousePressEvent(QMouseE...   31.1.2011, 11:56
- - igor_bogomolov   Цитата(Алексей1153 @ 31.1.2011, 11:56) аг...   31.1.2011, 12:00
- - Алексей1153   да ну, всё приходит. Я ж не выводил их void CMy...   31.1.2011, 12:10
- - igor_bogomolov   Алексей1153, мышкой где водишь, над формой? Прилож...   31.1.2011, 12:22
- - Алексей1153   да, над формой. Я же не грабил мышь. Пробовал в ра...   31.1.2011, 12:52
- - igor_bogomolov   Цитата(Алексей1153 @ 31.1.2011, 12:52) да...   31.1.2011, 13:00
- - Алексей1153   Цитата(Алексей1153 @ 31.1.2011, 12:43) vo...   31.1.2011, 13:35
- - igor_bogomolov   Цитата(Алексей1153 @ 31.1.2011, 13:35) да...   31.1.2011, 13:40
- - Алексей1153   вот по ТЗ ТС (каламбур прям) даже таймер не понад...   31.1.2011, 14:30
- - Obey-Kun   grabMouse() пробовал. Почему-то после этого виджет...   31.1.2011, 14:30
- - Алексей1153   Obey-Kun, я подправил пост - там аттач смотри   31.1.2011, 14:31
- - Obey-Kun   Ок. Сейчас в метро буду ехать — посмотрю .   31.1.2011, 14:49
- - Алексей1153   Obey-Kun, только вагоны не двигай )))   31.1.2011, 14:55
- - igor_bogomolov   Алексей1153, понял почему у меня не получалось. Са...   31.1.2011, 14:55
- - Алексей1153   igor_bogomolov, я в винде использовал SetCapture()...   31.1.2011, 14:57
- - Obey-Kun   А! Понял, почему не работало! Я делал grab...   31.1.2011, 17:59


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


11 чел. читают эту тему (гостей: 11, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 12.12.2024, 11:40