Название: как вызывать метод через определённый интервал времени? Отправлено: Sadovnik от Ноябрь 30, 2011, 23:39 Здравствуйте!
вопрос немного глупый, но всё же я пока понять не могу. есть кнопка. При нажатии на неё вызывается метод, 1 раз. Как сделать так, чтобы при нажатии на кнопку этот метод вызывался к примеру каждые 40 мс ? Код send - QPushButton Название: Re: как вызывать метод через определённый интервал времени? Отправлено: andrew.k от Ноябрь 30, 2011, 23:41 в слоте кнопки sendMessage() { QTimer::singleShot(40, this, SLOT(doSendMessage() ) ); }
doSendMessage() это слот в котором уже делаешь отправку. Два слота итого. Название: Re: как вызывать метод через определённый интервал времени? Отправлено: kambala от Ноябрь 30, 2011, 23:45 в описании QTimer сразу готовый пример есть
в слоте кнопки sendMessage() { QTimer::singleShot(40, this, SLOT(doSendMessage() ) ); } singleShot, как отражено в названии, вызывает слот лишь разНазвание: Re: как вызывать метод через определённый интервал времени? Отправлено: andrew.k от Ноябрь 30, 2011, 23:50 в описании QTimer сразу готовый пример есть в слоте кнопки sendMessage() { QTimer::singleShot(40, this, SLOT(doSendMessage() ) ); } singleShot, как отражено в названии, вызывает слот лишь разА тупанул. Я думал надо через сорок миллисекунд вызвать. Ну тогда вообще в чем проблема. QTimer start/stop когда надо. Я знаю, что делает singleShot, если че! Название: Re: как вызывать метод через определённый интервал времени? Отправлено: Sadovnik от Декабрь 01, 2011, 00:02 QTimer start/stop когда надо. Название: Re: как вызывать метод через определённый интервал времени? Отправлено: andrew.k от Декабрь 01, 2011, 00:05 http://doc.qt.nokia.com/latest/qtimer.html
Название: Re: как вызывать метод через определённый интервал времени? Отправлено: Sadovnik от Декабрь 01, 2011, 00:25 Тоесть
Код: QTimer *timer = new QTimer(this); чтобы вызывался мой метод через определённый интервал... Блин, я всё равно не понимаю: я нажимаю на кнопку, вызывается мой метод sendMessage. И в этом методе я должен установить таймер и коннект чтоли ??? Название: Re: как вызывать метод через определённый интервал времени? Отправлено: andrew.k от Декабрь 01, 2011, 00:27 Таймер создай заранее в конструкторе своего класса. Там же сделай коннект.
в sendMessage просто timer.start(40) а когда уже не нужно timer.stop(); Название: Re: как вызывать метод через определённый интервал времени? Отправлено: Sadovnik от Декабрь 01, 2011, 00:36 разобрался :)
спасибо большое! Название: Re: как вызывать метод через определённый интервал времени? Отправлено: pastor от Декабрь 01, 2011, 02:10 Код
Название: Re: как вызывать метод через определённый интервал времени? Отправлено: BuRn от Декабрь 01, 2011, 03:11 Код
я о том что памяти выделили на 1 таймер, а стартовать его мы будем неизвестно сколько раз, сколько нажмем на кнопку Название: Re: как вызывать метод через определённый интервал времени? Отправлено: thechicho от Декабрь 01, 2011, 10:35 Код
Название: Re: как вызывать метод через определённый интервал времени? Отправлено: twp от Декабрь 01, 2011, 12:35 Код
я о том что памяти выделили на 1 таймер, а стартовать его мы будем неизвестно сколько раз, сколько нажмем на кнопку Цитата: Assistant void QTimer::start () [slot] Starts or restarts the timer with the timeout specified in interval. If singleShot is true, the timer will be activated only once. |