Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Martiro от Апрель 07, 2009, 10:14



Название: Как программно сделать клик на QPushButton
Отправлено: Martiro от Апрель 07, 2009, 10:14
Есть кнопка. Нужно из функции съэмитировать ее нажатие.
Делаю:
Код
C++ (Qt)
emit pbMove->clicked()
Не собирается, пишет
Код
C++ (Qt)
void QButton::clicked() is protected

как сделать? ::)


Название: Re: Как программно сделать клик на QPushButton
Отправлено: lit-uriy от Апрель 07, 2009, 10:31
emit pbMove->clicked()
ты не можешь посылать чужие сигналы. ты можешь пользоваться чужой либо функцией либо слотом


Название: Re: Как программно сделать клик на QPushButton
Отправлено: Khs от Апрель 07, 2009, 10:31
Цитировать
void QAbstractButton::click ()   [slot]

Performs a click.


Название: Re: Как программно сделать клик на QPushButton
Отправлено: lit-uriy от Апрель 07, 2009, 10:33
посмотри слот:
void QButton::animateClick () [slot]


2 log1c, у него Qt3


Название: Re: Как программно сделать клик на QPushButton
Отправлено: Khs от Апрель 07, 2009, 10:34
sorry guys :) Но главное суть! Ибо click он и в африке click :)


Название: Re: Как программно сделать клик на QPushButton
Отправлено: igor_bogomolov от Апрель 07, 2009, 10:45
Есть кнопка. Нужно из функции съэмитировать ее нажатие.

Может лучше так :)
Код
C++ (Qt)
QMouseEvent event(QEvent::MouseButtonPress, QPoint(0,0), Qt::LeftButton, 0, 0);
QApplication::sendEvent(pbMove, &event);


Название: Re: Как программно сделать клик на QPushButton
Отправлено: Martiro от Апрель 07, 2009, 12:00
посмотри слот:
void QButton::animateClick () [slot]


2 log1c, у него Qt3
спасибо. сработало.