Изменить фон QProgressbar и фрагмент изображения программно

Мне нужно программно изменить фон и фрагмент изображения элемента QProgressBar. Я уже знаю, что могу добиться этого, применив таблицу стилей с заданным URL-адресом изображения во время выполнения. Проблема в моем случае заключается в том, что я не могу использовать локальные файлы, а должен загружать файл во время выполнения. Таким образом, я должен иметь возможность установить фоновое изображение QProgressBar, используя объект QImage/QPixmap/QIcon (или любой другой подходящий) без использования таблицы стилей.

Это как-то возможно?


person tobmuell    schedule 28.05.2014    source источник
comment
Привет и добро пожаловать в SO, что вы пробовали до сих пор...???   -  person Shiva    schedule 28.05.2014
comment
В итоге я написал свой собственный Progressbar с двумя заданными объектами QPixmap (один для фона и один для наложения прогресса). Чтобы добиться правильного вида виджета, мне пришлось переопределить метод paintEvent QWidget и самому нарисовать элемент управления. Я напишу ответ на свой вопрос с кодом принадлежности позже.   -  person tobmuell    schedule 29.05.2014


Ответы (1)


Это правильный ответ для установки таблицы стилей QProgressBar:

 QString style=NULL;
setValue(40);
style.append("QProgressBar{border: 0px solid grey;background-image:url("/UrlImage Background/abc.png");background-color:transparent;}");
style.append("QProgressBar::chunk {background:url("/UrlImage Background/chunkimage.png");}");
setStyleSheet(style);
person Bhaskar Kumar Singh    schedule 12.11.2015