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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Нажата ли клавиша мышки ?  (Прочитано 5881 раз)
IGHOR
Крякер
****
Offline Offline

Сообщений: 390



Просмотр профиля WWW
« : Ноябрь 30, 2007, 04:44 »

В проге есть моменты когда мне нужно проверить нажата ли правая кнопка мышки.
Делал переменную флаг Flag при mousePressEvent он принимал значение Flag=1 при MouseReleaseEvent Flag=0
по логике какое значение Flag то и значит нажата ли кнопка..
но в проге много обрабатываний и MouseReleaseEvent не успевает отследить отжатие кнопки..
Нужно после нажатия кнопки проверить держат ли ее нажатой.
Как проверить нажата ли клавиша ?
« Последнее редактирование: Ноябрь 30, 2007, 04:56 от IGHOR » Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #1 : Ноябрь 30, 2007, 14:08 »

В проге есть моменты когда мне нужно проверить нажата ли правая кнопка мышки.
Делал переменную флаг Flag при mousePressEvent он принимал значение Flag=1 при MouseReleaseEvent Flag=0
по логике какое значение Flag то и значит нажата ли кнопка..
но в проге много обрабатываний и MouseReleaseEvent не успевает отследить отжатие кнопки..
Нужно после нажатия кнопки проверить держат ли ее нажатой.
Как проверить нажата ли клавиша ?

Очень интересно для чего же это надо знать?

Раньше был журнал "Хочу все знать".
А сейчас Ассистент. Еще раз призываю - читайте и узнаете.
Записан
IGHOR
Крякер
****
Offline Offline

Сообщений: 390



Просмотр профиля WWW
« Ответ #2 : Ноябрь 30, 2007, 16:47 »

Есть кнопка из картинки,
при нажатие и держание на ней она должна заменятся на картинку нажатой кнопки.
Как это рациональнее сделать ?
не знаю как это искать в асистенте
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #3 : Ноябрь 30, 2007, 17:18 »

но в проге много обрабатываний и MouseReleaseEvent не успевает отследить отжатие кнопки..

Много обрабатывание по левой или по правой кнопке? Можно отловить, что нажата именно правая кнопка, а не левая etc
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #4 : Ноябрь 30, 2007, 18:00 »

Есть кнопка из картинки,
при нажатие и держание на ней она должна заменятся на картинку нажатой кнопки.
Как это рациональнее сделать ?
не знаю как это искать в асистенте

Желательно вопрос задавать по русски.
Что значит кнопка из картинки - это что свой жаргон.
Что это QPushButton? Либо что еще?
Если ты переопределил PaintEvent, то и вызывай его при нажатии - отпускании кнопки для перерисовки отображения кнопки.
А вообще то правильно заданный вопрос позолит найти верное решение вопроса.
Записан
IGHOR
Крякер
****
Offline Offline

Сообщений: 390



Просмотр профиля WWW
« Ответ #5 : Ноябрь 30, 2007, 21:36 »

Вручную в пеинтере делаю список и кнопки вверх вниз.
При нажатие вверх список прокручивается, мне надо сделать
чтобы при удерживание кнопки вверх список прокручивался непрерывно.
пока список прокручивается не ловится MouseReleaseEvent
потому не могу отследить была ли отжата кнопка.
Надо после прокручивания списка на один пункт проверить нажата ли правая кнопка мишки.
Может действительно непонятно пишу.. переспросите если что
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #6 : Ноябрь 30, 2007, 22:42 »

Вручную в пеинтере делаю список и кнопки вверх вниз.
При нажатие вверх список прокручивается, мне надо сделать
чтобы при удерживание кнопки вверх список прокручивался непрерывно.
пока список прокручивается не ловится MouseReleaseEvent
потому не могу отследить была ли отжата кнопка.
Надо после прокручивания списка на один пункт проверить нажата ли правая кнопка мишки.
Может действительно непонятно пишу.. переспросите если что

Смотри в сторону
setAutoRepeat ( bool ) .
Если установить autorepeat  в true, то нажатая кнопка будет через равные интерваля времени испускать сигнал, по которому твой слот должен сдвигать список на одну позицию.
Читай ассистент
Записан
IGHOR
Крякер
****
Offline Offline

Сообщений: 390



Просмотр профиля WWW
« Ответ #7 : Декабрь 01, 2007, 00:17 »

Спасибо
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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