QTimer
с нулевым таймаутом вообще не таймер .Это неправильно.Не имеет смысла иметь такой таймер, поэтому он был перегружен, чтобы быть специальной конструкцией, которая позволяет выполнять некоторый код, когда очередь событий пуста.Он не имеет абсолютно никакого отношения к какому-либо коду обработки таймера и внутренне обрабатывается Qt как особый случай.
По умолчанию все события, созданные самим Qt, публикуются с приоритетом по умолчанию, равным нулю (0).и нет способа изменить его, если не отредактировать код Qt (и здесь нет причин для этого).Понятие приоритета для событий имеет значение, только если вы публикуете события самостоятельно, и тогда у вас есть только два варианта: Qt::HighEventPriority
, или любой приоритет выше нуля, означает, что ваши события будут опубликованы перед событиями, опубликованными самим Qt.,И наоборот, Qt::LowEventPriority
, или любой приоритет ниже нуля, означает, что ваши события будут опубликованы за всеми событиями, опубликованными самим Qt.
Конечно, относительный приоритет ваших собственных событий будет иметь значение, например, ваши собственные событияс приоритетом 2 будет стоять в очереди перед вашими собственными событиями с приоритетом 1. Но собственные события Qt всегда имеют приоритет только 0.