Я делаю что-то в проекте Qt Widget, написанном на C ++.Из-за того, что мне нужно сделать, мне нужен бесконечный цикл, и после проведенного исследования я понял, что бесконечный цикл в событии объекта не работает, и вместо этого мне нужно использовать некоторый поток ..
- Я решил использовать QTimer, но думаю об использовании QThread.Какой из них мне следует использовать?
Это мой код QTimer, который, похоже, не работает:
Clock_Application::Clock_Application(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::Clock_Application)
{
ui->setupUi(this);
QTimer *timer_Stopwatch = new QTimer(this);
connect(timer_Stopwatch, SIGNAL(timeout()), this, SLOT(timer_Start()));
timer_Stopwatch->start(1000);
}
Редактировать: aПростое исправление этого решения заключается в использовании функции QCoreApplication::processEvents()
после каждой итерации цикла, поскольку это позволяет приложению виджета обрабатывать необходимые события.Однако это быстрое решение, и использование библиотеки QTimer - лучший способ исправить это.