2

我正在设计一个带有 28px 边框(对于真正的圆角)的边框图像的 QPushButton 像这样:

#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;
}

但是,似乎在呈现按钮时,按钮上的文本标签被剪辑到边框图像的内部补丁。就我而言,这结果是灾难性的:

在此处输入图像描述

如何解决此问题,以便在按钮的整个表面上呈现文本,包括边框边缘?

4

1 回答 1

3

事实证明,这比最初预期的更简单、更直观。

解决方案是将按钮上的负填充设置为与边框图像半径相同,如下所示:

#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;
}

现在按钮看起来正确:

在此处输入图像描述

于 2014-07-05T21:06:36.600 回答