Как сделать форму круга QToolButton с внешней границей? - PullRequest
0 голосов
/ 12 мая 2018

Я реализовал некоторую форму круга QToolButtons, используя таблицы стилей; все работает нормально, за исключением того, что я не нашел способ добавить внешнюю границу вместо этого. В настоящее время QT поддерживает только CSS 2, что означает, что я не могу использовать свойство box-shadow в CSS 3.

Есть идеи, как я могу это сделать?

Вот фрагмент таблиц стилей, примененных к QToolButton

QString StyleManager::labelButtonStyle(QString labelColor){
QString style =  QString("QToolButton {"
                         "    border: 1px;"
                         "    width: 26px; min-width: 26px; max-width: 26px;"
                         "    height: 26px; min-height: 26px; max-height: 26px;"
                         "    border-radius: 13px;"
                         "    background-color: %1;"
                         "    color: white;"
                         "    padding: 0;"
                         "    margin: 0;"
                         "    font-size: 12px;"
                         "    font-family: %4;"
                         "}"
                         "QToolButton:checked {"
                         "    border: 2px solid %3; "
                         "}"
                         "QToolButton:disabled {"
                         "    background-color: %2; "
                         "    color: grey; "
                         "}").arg(labelColor).arg(BACKGROUND_GREY).arg(darkColor()).arg("Arial");
return style; }

Это пока результат:

Круглая форма QToolButton с текущей границей

Но я пытаюсь добраться до этого.

Пример того, чего я пытаюсь достичь

...