С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Qt
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.93/14: Рейтинг темы: голосов - 14, средняя оценка - 4.93
OstapBender
584 / 523 / 75
Регистрация: 22.03.2011
Сообщений: 1,585
1

Обработка удерживания кнопки

27.10.2011, 01:14. Просмотров 2598. Ответов 2
Метки нет (Все метки)

пытался на pressed() повесить слот типа такого:
C++
1
2
3
4
5
    while (1) {
        if (!ui->rotateButton->isDown()) break;
        Sleep(50)
        emit(rotate());
    }
но не вышло. зависает.

задача простая, типа жмем кнопку вызывается слот пока не отпустим её.

в гугле нету.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2011, 01:14
Ответы с готовыми решениями:

Обработка нажатия кнопки мыши
Друзья, нужна ваша помощь. Переопределил virtual void...

Обработка нажатия кнопки мыши
Друзья, начал разбираться с qt, нужна ваша помощь. Хочу обработать нажатие...

QML обработка события нажатия кнопки мыши
Собственно. Есть вот такой вот main.qml: import QtQuick 1.1 Rectangle {...

Обработка нажатия одной кнопки из множества других, созданных в Qt Designer
Добрый день. В Qt Designer создана форма, на ней много кнопок (до 10), они...

Создать окно в котором при нажатии кнопки происходит обработка plaintext в главном окне
Есть две проблемы: 1) Создать окно в котором при нажатии кнопки происходит...

2
Чистый
Автор FAQ
2714 / 1410 / 89
Регистрация: 08.09.2011
Сообщений: 3,741
Записей в блоге: 1
27.10.2011, 10:10 2
она и будет зависать, так как clicked отрабатывает после того как кнопка была отжата т.е. произошло полное нажатие и отпускание кнопки, для решения твоей проблемы, как мне кажется, можно воспользоваться событиями, а не сигналами, в частности есть класс QMouseEvent он содержит инфу о событиях вызванных мышой и хранит в себе достаточно инфы (координаты указателя, статус кнопки мыши и т.п.). У этого класса есть такой метод mousePressEvent() он отрабатывает тогда, когда была нажата одна из кнопок мышей, он будет отрабатываться до тех пор, пока не отпустят кнопку мыши, а это то что тебе надо. Так же можно узнать какая кнопка нажата для этого есть перечисление MouseButton которое содержит NoButton LeftButton RightButton и MidButton думаю этого достаточно что бы ты смог решить свою задачу....
2
OstapBender
584 / 523 / 75
Регистрация: 22.03.2011
Сообщений: 1,585
27.10.2011, 14:25  [ТС] 3
спасибо за подсказку.

но чето не выходит.
я проверил просто на форме такой код
C++
1
2
3
4
5
void mousePressEvent(QMouseEvent * event) {
 
        qDebug() << 1;
 
}
он выводит '1' только 1 раз , а не продолжает выводить пока держишь.

Чяднт?

Добавлено через 14 минут
проблема была решена.

C++
1
2
ui->rotateButton->setAutoRepeat(true);
ui->rotateButton->setAutoRepeatDelay(500); // Задержка до начала повторов.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2011, 14:25

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

Обработка удерживания кнопки нажатой WPF
Решил самостоятельно сделать NumericUpDown (ну не доверяю я уже готовым...

функция удерживания кнопки
Народ, необходимо реализовать функцию удерживания кнопки.Виполнялась процедура...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru