Название: один сигнал многократно вызывает слот Отправлено: Docent86 от Май 28, 2013, 09:42 Суть задачи - есть PushButton и слот clicked() хочу вызвать слот еще и от нажатия кнопки на клавиатуре.
Проблема - при однократном нажатии кнопки слот вызывается многократно: Код: ....... результат всего этого действия: Код: KEYBOARD Q Название: Re: один сигнал многократно вызывает слот Отправлено: _OLEGator_ от Май 28, 2013, 09:52 Потому что keyPressEvent вызывается непрерывно, пока зажата кнопка.
Как вариант: Код
Название: Re: один сигнал многократно вызывает слот Отправлено: Bepec от Май 28, 2013, 10:02 Есть флаг автоповтора у QKeyEvent.
Автоповтор - это когда ты зажимаешь клавишу и она, зажатая, нажимается многократно. Цитировать bool isAutoRepeat () const Название: Re: один сигнал многократно вызывает слот Отправлено: thechicho от Май 28, 2013, 10:13 так не вариант написать?
Код: case Qt::Key_Q: Название: Re: один сигнал многократно вызывает слот Отправлено: Bepec от Май 28, 2013, 10:15 thechicho - Проблема ТСса при этом не исчезнет :) Никто же незнает, может у него кнопки на разных виджетах ;)
Название: Re: один сигнал многократно вызывает слот Отправлено: thechicho от Май 28, 2013, 10:20 почему не исчезнет?
Код: qDebug()<<"KEYBOARD Q"; Цитировать KEYBOARD Q DOK clicked DOK clicked DOK clicked DOK clicked DOK clicked DOK clicked DOK clicked DOK clicked Название: Re: один сигнал многократно вызывает слот Отправлено: mutineer от Май 28, 2013, 10:24 Код А сколько раз вызывается эта строчка? Название: Re: один сигнал многократно вызывает слот Отправлено: Docent86 от Май 28, 2013, 10:31 Код А сколько раз вызывается эта строчка? O_o Зыыы. Спасибо за намек. Нашел))) Запхнул конект в слот который сам по себе многократно вызывался Название: Re: один сигнал многократно вызывает слот Отправлено: thechicho от Май 28, 2013, 12:00 Цитировать O_o Зыыы. Спасибо за намек. Нашел))) Запхнул конект в слот который сам по себе многократно вызывался вам какбэ дебаг давно намекнул об этом Цитировать KEYBOARD Q DOK clicked DOK clicked DOK clicked DOK clicked DOK clicked DOK clicked DOK clicked DOK clicked *facepalm* Название: Re: один сигнал многократно вызывает слот Отправлено: Docent86 от Май 28, 2013, 12:05 Ну всякое бывает невыспался - не сразу понял причину.
|