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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Программно нажать кнопку  (Прочитано 9257 раз)
Alp
Гость
« : Сентябрь 10, 2010, 17:17 »

Помню, что была такая тема, но найти по "кликнуть кнопку программно" или "нажать кнопку не нашел.

Надо "кликнуть" по наследнику QWidget из кода. Как это сделать?
Записан
Kolobok
Гость
« Ответ #1 : Сентябрь 10, 2010, 17:23 »

bool QCoreApplication::sendEvent ( QObject * receiver, QEvent * event )
void QCoreApplication::postEvent ( QObject * receiver, QEvent * event )
Записан
Alp
Гость
« Ответ #2 : Сентябрь 10, 2010, 17:40 »

Грасиас!
Записан
Denjs
Гость
« Ответ #3 : Сентябрь 10, 2010, 17:45 »

есть ещё проще.
Код:
void QTest::mouseClick ( QWidget * widget, Qt::MouseButton button, Qt::KeyboardModifiers modifier = 0, QPoint pos = QPoint(), int delay = -1 )
Записан
Sahab
Гость
« Ответ #4 : Сентябрь 10, 2010, 21:47 »

уверен что это проще?...
ради этого совать в проект QTest?
Записан
Denjs
Гость
« Ответ #5 : Сентябрь 11, 2010, 18:21 »

уверен что это проще?...
ради этого совать в проект QTest?
гм... да. проще. Потому что мне не надо возиться с ручной готовкой объекта класса QEvent ))))

да и кто знает зачем программно понадобиось ТАК нажать на кнопку )) Может автору как-раз функциональность QTest и пригодится, если автор не использует какой-нибудь QPushButton::click()

« Последнее редактирование: Сентябрь 11, 2010, 18:24 от Denjs » Записан
majatu
Гость
« Ответ #6 : Май 02, 2011, 16:19 »

Код:
#include <windows.h>
QApplication::desktop()->cursor().setPos(globalX,globalY);
mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 1, 1, 0, 0);
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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