Как избежать обрезки текста для QPushButton с borderimage

Я стилизую QPushButton с изображением границы с рамкой 28px (для действительно круглых углов). Вот так:

#MyApp QPushButton
{
    margin:0;
    padding: 0;
    border:0;
    border-image: url(:/graphics/button_brand_up.png) 28 28 28 28 stretch stretch;
    border-top: 28px transparent;
    border-bottom: 28px transparent;
    border-right: 28px transparent;
    border-left: 28px transparent;
}

Однако, кажется, что когда кнопка визуализируется, текстовая метка на кнопке обрезается до внутреннего участка изображения границы. В моем случае это оказывается катастрофическим:

Как я могу это исправить, чтобы текст отображался по всей поверхности кнопки, включая граничные края?

1 ответ

Решение

Это оказалось проще и понятнее, чем предполагалось.

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

#MyApp QPushButton
{
    margin:0;
    padding: -28px; /* THIS SOLVED IT */
    border:0;
    border-image: url(:/graphics/button_brand_up.png) 28 28 28 28 stretch stretch;
    border-top: 28px transparent;
    border-bottom: 28px transparent;
    border-right: 28px transparent;
    border-left: 28px transparent;
}

Теперь кнопка выглядит правильно:

Другие вопросы по тегам