Member 14594285 Ответов: 2

Функция, которая работает с таймером


Я видел, что есть SetTimer, но если я хочу, чтобы через 10 секунд что-то произошло, например, если у меня есть функция ChangeColor и я хочу, чтобы это произошло через 10 секунд, как я должен писать

Что я уже пробовал:

В Интернете я нашел :
SetTimer (1, 1000, null);


но я не знаю, должен ли я писать с помощью функции, когда я использовал Qt, там был один слот

Member 14594285

один слот извините

Stefan_Lang

Вы можете использовать зеленую ссылку [улучшить вопрос] в правом нижнем углу вашей публикации, чтобы изменить ее.

Member 14594285

спасибо

2 Ответов

Рейтинг:
2

KarstenK

Ответ CPallini верен, но вы должны написать свой код более ориентированным на события.

Это значит КОГДА (и только когда) цвет меняется, вы должны что-то делать. Например, отправьте сообщение (или запустите одноразовый таймер) о том, что цвет изменен, и обработайте его где-нибудь.

Регулярный опрос по некоторому постоянному значению-это потеря мощности процессора и энергии, а также замедление работы вашего кода. И последнее, но не менее важное-это источник ошибок weired, когда вы проводите опрос в разных штатах...


Рейтинг:
17

CPallini

Образцы кода мягко предоставляются компанией документация: Использование таймеров - приложения для Windows | Microsoft Docs[^].


Member 14594285

да, но я видел, что нет такой функции, как QTimer::SingleSlot()
этот метод он длиннее

CPallini

Такова жизнь. :-)

Rick York

После того, как событие таймера было обслужено, вы можете убить таймер, а затем у вас есть таймер с одним выстрелом.

Member 14594285

Я решил эту проблему

CPallini

Отлично сработано.

Maciej Los

5ed!