кнопка qt для испускания нескольких сигналов - PullRequest
1 голос
/ 04 февраля 2011

есть ли виджет Qt (я использую Qt 4.7.1), который излучает сигналы (а не только один в первый раз), когда он нажимается и останавливается, когда пользователь отпускает мышь?что-то вроде событий mousedown в стандартных интервалах?или я должен реализовать это с помощью qtimer?спасибо

Ответы [ 3 ]

4 голосов
/ 04 февраля 2011

Извлечение QAbstractButton :: autoRepeat и autoRepeatInterval.Это должно быть именно то, что вам нужно и доступно для всех кнопок.

0 голосов
/ 04 февраля 2011

Насколько я знаю, такого виджета кнопок нет. QPushButton autoRepeat должен делать именно то, что вы хотите.Но разве вам не понадобятся сигналы QPushButton::pressed() и QPushButton::released() для ваших нужд?

В любом случае, то, что вы описываете, будет довольно простым (и избыточным,поскольку он уже существует) для реализации, подключите сигнал QTimer::timeout() к нужному сигналу, а затем просто запустите таймер на сигнале pressed() и остановите его на сигнале released():)

Редактировать: Как указано в комментариях, существует встроенное решение, которое устанавливает свойство autoRepeat, унаследованное от QAbstractButton до true.

Вы можете настроить начальную задержку и интервал, настроив autoRepeatDelay и autoRepeatInterval.

0 голосов
/ 04 февраля 2011

Вы должны реализовать что-то, что запускает событие, пока пользователь не отпустит мышь.

Я предлагаю вам создать класс-обработчик, связанный с событием кнопки, который запускает пользовательские события так, как вам нравится его наблюдателям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...