1

我正在用 Qt 4.8 开发一个 GUI(C++ 是基础语言),但我在样式化 QSpinBox 时遇到了麻烦。

我希望小部件使用Qt 样式表有一个漂亮的圆形边框(我已经通过 Qt Creator 禁用了向上和向下按钮) ,并且我设法使用以下代码做得很好:

QSpinBox {
    color: white;
    selection-background-color: black;
    border: 1px solid white;
    border-radius: 5px;
    padding-left: 2px;
    padding-top: 2px;
}

但是,一旦我尝试设置背景颜色,无论是通过定义背景还是背景颜色属性,背景颜色都会填充小部件的整个矩形,使小部件非常难看(此时,白色边框仍然正确舍入)。

QSpinBox {
    color: white;
    selection-background-color: black;
    background: blue;
    border: 1px solid white;
    border-radius: 5px;
    padding-left: 2px;
    padding-top: 2px;
}

我当然希望背景色矩形以相同的方式进行四舍五入。我尝试过使用类似的background-clipbackground-origin属性:

QFrame, QSpinBox {
        color: white;
        selection-background-color: black;
        background-origin: border;
        background-clip: border;
        border: 1px solid white;
        border-radius: 5px;
        text-align:center;
        padding-left: 2px;
        padding-top: 2px;
}

但我尝试的任何方法似乎都不起作用。有什么我错过或做错了吗?

4

1 回答 1

1

使用 setAutoFillBackground(false);

于 2020-09-15T18:20:01.153 回答