对于已经存在的Qt项目,我希望通过qss-fle为焦点小部件设置边框。但是我遇到了一些意想不到的结果。当我更改no control matching kind 'clickable', id 'btnApply', label 'Apply'
(和QSpinBox
)的边框时,边框会像我预期的那样发生变化,但按钮和向下按钮也会发生变化,看起来很难看。
这是我的样式定义(完整示例here):
QDoubleSpinBox
我的问题是:如何更改边框的外观并同时保留上行按钮和下按钮的外观。我正在寻找的解决方案不应该是跨平台或跨版本。
我的环境:
- KUbuntu 15.10(amd64);
- Qt 5.4(x64)。
更新:
以下是另一个样式的另一个示例:
QSpinBox:focus
{
border-width: 2px;
border-style: solid;
border-color: green;
}
小部件如下所示:
答案 0 :(得分:3)
将样式表应用于_
时,此窗口小部件将使用perl -pe 's-(\d+.?\d*)-($1/1000)-ge' file
add
tube
3033.303 2998.20695111 106.1801625
0.060325 6.22260621
y
0 0
0
add
cube
3027.18924332 3032.17578955 114.50875
0.1689 6.17076909
y
0 0
0
完全绘制(此类不是公共API的一部分)。
所以你必须完全调整旋转框的样式,包括向上/向下按钮,或者根本不使用样式表。
上/下按钮不是分隔的小部件,因此您不能对它们应用不同的样式。
所以我建议继承QSpinBox
并重新实现QStyleSheetStyle
方法。在QSpinBox
方法中,您只需将其称为默认实现,而不是绘制矩形。
答案 1 :(得分:2)
尝试使用其他随机样式编辑您的qss文件,看它是否一致。
QSpinBox
{
border-width: 2px;
border-style: solid;
border-color : red;
}
QSpinBox:hover
{
border-width: 2px;
border-style: solid;
border-color: blue;
}
编辑:
我看到你的箭仍然处于不良状态,所以我建议你做两件事:
样式也是带有背景图像属性左右的上下箭头(拍摄所需箭头的屏幕截图等等)
forger通过样式表设置此部件的样式,并按代码覆盖“QPaintEvent onFocus处理程序”。将边框设置为绿色不会那么痛苦