Я пытаюсь создать какой-нибудь медиаплеер.В настоящее время основные функции медиаплеера работают, и есть индикатор выполнения видео, который показывает, где в видео они находятся и как долго.Этот индикатор выполнения является ползунком, и я хочу установить отметки на этом индикаторе выполнения (например, закладки, но для видео) на основе пользовательского ввода.У меня это работает как QList.Тем не менее, когда я сохраняю пользовательский ввод в текстовый файл, содержащий места для отметок и видео.Он загружает все содержимое файла, кроме тиковых маркеров, которые являются просто QImages.Он загружает только последний тиковый маркер
В настоящее время код представляет собой цикл for, который берет перечисленные позиции, вычисляет позицию, которую маркер тика должен пройти на индикаторе выполнения, и помещает его туда.
Показанониже приведена часть кода, связанная с этой проблемой:
int slider_xpos = ui->VideoProgressSlider->x();
int slider_ypos = ui->VideoProgressSlider->y();
int slider_width = ui->VideoProgressSlider->width();
while(!Bookmark_Placement.empty())
{
//New Bookmark is initialized
Bookmarker_Label = new QLabel(this);
Bookmark = new QImage();
Bookmark->load("UI_Elements/Bookmark.png");
//Bookmark's image is scaled down
int scaled_width = Bookmark->width()/64;
int scaled_height = Bookmark->height()/64;
QImage *Bookmark_Scaled = new QImage(Bookmark->scaled(scaled_width,Bookmark->height(),Qt::KeepAspectRatio));
Bookmarker_Label->setPixmap(QPixmap::fromImage(*Bookmark_Scaled));
//Takes the Bookmark's position off of QList
int Bookmark_Position = Bookmark_Placement.last();
Bookmark_Placement.removeLast();
//Places Bookmark in the proper position
double offset = ((double)Bookmark_Position/(double)Bookmark_Count)*(double)slider_width;
int Bookmarker_Label_xpos= slider_xpos + (int)offset;
Bookmarker_Label->setGeometry(Bookmarker_Label_xpos,slider_ypos - scaled_height,scaled_width,scaled_height);
Bookmarker_Label->show();
}