如何设置部分背景的背景颜色,如下图所示:
当然,没有边框,我只想设置青色。
我需要将左侧部分(青色)的长度设置为小部件长度的百分比,例如30%。
答案 0 :(得分:5)
用css我会稍微破解qlineargradient。请注意,青色的边缘可能有点模糊。
QFrame
{
background-color: qlineargradient(x1:0, x2: 1, stop: 0 cyan, stop: 0.29 cyan, stop: 0.2901 white, stop: 1 white);
}
答案 1 :(得分:2)
如果您希望在应用程序中对其进行硬编码,则可以在窗口小部件中重载paintEvent
函数。像这样:
void MyWidget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
QPen pen(Qt::NoPen);
painter.setPen(pen);
painter.fillRect(0, 0, width(), height(), Qt::white);
painter.fillRect(0, 0, 0.3*width(), height(), Qt::cyan);
...
}