Russian Qt Forum

Qt => Общие вопросы => Тема начата: IGHOR от Ноябрь 30, 2007, 04:44



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


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

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

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


Название: Re: Нажата ли клавиша мышки ?
Отправлено: IGHOR от Ноябрь 30, 2007, 16:47
Есть кнопка из картинки,
при нажатие и держание на ней она должна заменятся на картинку нажатой кнопки.
Как это рациональнее сделать ?
не знаю как это искать в асистенте


Название: Re: Нажата ли клавиша мышки ?
Отправлено: pastor от Ноябрь 30, 2007, 17:18
но в проге много обрабатываний и MouseReleaseEvent не успевает отследить отжатие кнопки..

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


Название: Re: Нажата ли клавиша мышки ?
Отправлено: Mikhail от Ноябрь 30, 2007, 18:00
Есть кнопка из картинки,
при нажатие и держание на ней она должна заменятся на картинку нажатой кнопки.
Как это рациональнее сделать ?
не знаю как это искать в асистенте

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


Название: Re: Нажата ли клавиша мышки ?
Отправлено: IGHOR от Ноябрь 30, 2007, 21:36
Вручную в пеинтере делаю список и кнопки вверх вниз.
При нажатие вверх список прокручивается, мне надо сделать
чтобы при удерживание кнопки вверх список прокручивался непрерывно.
пока список прокручивается не ловится MouseReleaseEvent
потому не могу отследить была ли отжата кнопка.
Надо после прокручивания списка на один пункт проверить нажата ли правая кнопка мишки.
Может действительно непонятно пишу.. переспросите если что


Название: Re: Нажата ли клавиша мышки ?
Отправлено: Mikhail от Ноябрь 30, 2007, 22:42
Вручную в пеинтере делаю список и кнопки вверх вниз.
При нажатие вверх список прокручивается, мне надо сделать
чтобы при удерживание кнопки вверх список прокручивался непрерывно.
пока список прокручивается не ловится MouseReleaseEvent
потому не могу отследить была ли отжата кнопка.
Надо после прокручивания списка на один пункт проверить нажата ли правая кнопка мишки.
Может действительно непонятно пишу.. переспросите если что

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


Название: Re: Нажата ли клавиша мышки ?
Отправлено: IGHOR от Декабрь 01, 2007, 00:17
Спасибо