Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Medved от Август 11, 2022, 09:24



Название: setStyleSheet для QToolBar не работает
Отправлено: Medved от Август 11, 2022, 09:24
создал свой тулбар от QToolBar
по умолчанию используется стиль Windows 10
мне нужно задать свой цвет для моего тулбара и установить видимые границы особенно когда он docked

Код:
    pToolBar = new MyToolBar(this); // QToolBar
    QString styleSheet(
        "QToolBar "
        "{background-color: rgba(255,255,255,128); "
        "border-radius: %1px;} "
    );
    pToolBar->setStyleSheet(styleSheet);

    pDock = new QDockWidget("Some toolbar", this);
    pDock->setWidget(pToolBar);
    pDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);

почему setStyleSheet ничего не меняет и как это исправить?


Название: Re: setStyleSheet для QToolBar не работает
Отправлено: kambala от Август 11, 2022, 13:23
может ему не нравится ошибка в стиле? %1px


Название: Re: setStyleSheet для QToolBar не работает
Отправлено: Medved от Август 11, 2022, 15:03
может ему не нравится ошибка в стиле? %1px


а как должно быть правильно? где вообще найти исчерпывающую спецификацию по стилям для Qt? какие там ключевые слова, возможные значения и проч.


Название: Re: setStyleSheet для QToolBar не работает
Отправлено: kambala от Август 11, 2022, 16:03
%1 выглядит как параметр для QString::arg(), поставь туда обычное число для теста.

всё есть в документации: https://doc.qt.io/qt-5/stylesheet.html, там вверху ссылки на синтаксис и полный reference


Название: Re: setStyleSheet для QToolBar не работает
Отправлено: Medved от Август 11, 2022, 16:10
%1 выглядит как параметр для QString::arg(), поставь туда обычное число для теста.

всё есть в документации: https://doc.qt.io/qt-5/stylesheet.html, там вверху ссылки на синтаксис и полный reference

помогло, спасибо!