Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Павелъ от Апрель 09, 2017, 17:43



Название: Как в qss получить цвет чанка в QProgressBar?
Отправлено: Павелъ от Апрель 09, 2017, 17:43
Заголовок наверное несовсем понятен. Опишу суть проблемы.

Мне нужно сделать кнопку, после нажимания на которую на её месте появлялся Прогресс Бар.
Задачу решил путём устанавливания на кнопку лайота, а на него добавления Прогресс бара.

Код:
  QHBoxLayout * calcLay = new QHBoxLayout(_buttonCalc);
    _progressBar = new QProgressBar;
    calcLay->addWidget(_progressBar);
    calcLay->setMargin(0);
    calcLay->setSpacing(0);
    _progressBar->setAlignment(Qt::AlignCenter);

Мне нужно сделать так, чтобы прогресс бар был прозрачным, а его чанк оставался со своим цветом.

В Windows XP мне хватило вот этого:

Код:
_progressBar->setStyleSheet("QProgressBar{border: 0px; background-color: transparent;}"
                                );

Всё бы ничего, но скомпилировал проект на Убунту - кнопки не видно.

Когда делаю, например так:

Код:
_progressBar->setStyleSheet("QProgressBar{border: 0px; background-color: transparent;}"
                                "QProgressBar::chunk{"
                                "background-color: red;"
                                "}");

то кнопку видно, но чанк обретает красный цвет, а мне надо - по умолчанию в ОС.
То есть, в Убунту нужно ещё
Код:
"QProgressBar::chunk{"
                                "background-color: red;"
                                "}"
, чтобы фон прогресс бара стал прозрачным и видно было чанк.

Как задать цвет по умолчанию, чтобы в каждой ОС чанки были своего цвета?