Как использовать QTimer для вывода сообщения в QTextBrowser каждые 10 секунд?

Я работаю над этим часами и не могу понять это, и я не могу найти какую-либо помощь в Интернете, которая работает. По сути, суть того, что я пытаюсь достичь, состоит в том, чтобы иметь графический интерфейс Qt с кнопкой и QTextBrowser . Когда я нажимаю кнопку, я хочу, чтобы она отображала сообщение, а затем продолжала печатать это сообщение каждые 10 секунд.

Я решил, что буду использовать QTimer, потому что имеет смысл иметь таймер для отображения сообщения каждые 10 секунд. Когда я изначально реализовал это в моем слоте `buttonClicked (), это привело к зависанию программы. Я поискал в Интернете решение и нашел QApplication :: processEvents ().

Итак, в основном в моей функции у меня было что-то вроде этого:

while(1)
{
   QTimer *timer;
   connect(...)  //omitted parameters for this example     
   timer.start(10000);
   ui->diplay->append("Message");

   while(timer.isActive())
   {
      QApplication::processEvents() 
   }
}

Я подумал, что он вырвется из цикла timer.isActive (), но он просто не останется там.

Итак, я решил, что это проблема с потоками. Итак, я понял, как использовать QThreads, но все еще не могу заставить его работать. Обычно, когда я создаю поток с таймером на нем, и поток сообщает таймеру о запуске, программа закрывается и консоль сообщает: "

9
задан Mark 14 January 2011 в 19:27
поделиться