QT перекрасить / перерисовать / обновить / сделать что-нибудь

м. Новичок в QT. Я понимаю, что вы можете принудительно обновить отображение, но яЯ вытащил все мои волосы, пытаясь понять, как. Вот что яЯ специально пытаюсь это сделать.

Я нажимаю кнопку (событие сигнала onClick), которая запускает код, который изменяет изображение (QLabel) на дисплее, ждет ввода и затем выполняет изменение нового изображения (другой QLabel). Я'все перепробовал и дисплей не показываетобновлять до тех пор, пока код события сигнала onclick не будет завершен. Прямо сейчас яЯ не жду ввода пользователя, яиспользуя usleep (~ 500 мс) для тестирования.

Из того, что я прочитал, QT - это событие, которое означает, что яЯ в основном создаю группу событий, которые помещаются в очередь и выполняются, когда (событие сигнала onClick) возвращается в (основной цикл) / (обработчик события). Я нене хочу ждать, пока функция завершится, этоЯ собираюсь сделать программирование чрезвычайно болезненным, если мне придется выполнять эту процедуру исключительно на основе событий.

Как я могу заставить картинку QLabel обновить. Я'мы все перепробовали. Ниже приведен весь код, который я пробовал в своем обработчике сигнала onClick. (upButton - это имя QLabel, которое является растровым изображением)

update();
repaint();
ui->upButton->setUpdatesEnabled(TRUE);
update();
repaint();
QPaintEvent paintevent(ui->upButton->childrenRegion());
QPaintEvent * test = &paintevent;
paintEvent(test);
this->changeEvent(test);
ui->upButton->update();
ui->upButton->repaint();
ui->upButton->repaint(ui->upButton->childrenRegion());
repaint();
QApplication::sendPostedEvents();
this->parentWidget()->update();
usleep(100000);

Как видите, ям просто стрелял в темноте на данный момент. Я'Я пытался посмотреть пример кода и выполнить всю домашнюю работу, но яЯ потерян. Ценю любую помощь, совет и / или пример кода.

Ответы на вопрос(4)

Ваш ответ на вопрос