QLabel не будет обновлять растровое изображение изнутри функции

Я перепробовал абсолютно все, что знаю, и пришел к выводу, что этот вопрос у меня над головой. Я попытался запустить repaint(), update() и this->update(); и все остальное, что я мог придумать. Pixmap работает вне функции (в конструкторе), но не внутри функции. Вот код (вставлен только соответствующий, пожалуйста, укажите, хотите ли вы больше):

myWidget.h

#define NUM_POINTERS 10


QLabel* pointerArray[NUM_POINTERS];
QPixmap circle;
QPixmap* triangle;
QPixmap* whitex;
int activePointer;

myWidget.cpp

activePointer = 0;

QPixmap circle (":/Resources/greencircle.png");
this->whitex = new QPixmap(":/Resources/white_x.png");
this->triangle = new QPixmap(":/Resources/redtriangle.png");

//create an array of pointers to the label1-10 objects
pointerArray[0] = ui->label1;
pointerArray[1] = ui->label2;
pointerArray[2] = ui->label3;
...
pointerArray[9] = ui->label10;

for (int i = 0;i < 10; i++)
{
    pointerArray[i]->setPixmap(circle);
}

void myWidget::changeImage()
{
  updatesEnabled();
  if (activePointer < 10){
      pointerArray[activePointer]->setPixmap(*this->whitex);
      activePointer++;
      update();
}
  else{
      printf("end of array\n");
      fflush(stdout);
  }

}

Я печатаю ряд кружков там, где я хочу их, но я не получу никаких белых иксов. Растровое изображение меняется на whitex, но не обновляется. Он не падает, он продолжает добавление к activePointer до конца массива.

Заранее спасибо.

Быстрое редактирование: я пробовал pointerArray[activePointer]->update(); без удачи

0 ответов

Другие вопросы по тегам