设置背景颜色只是部分样式表(Set background color only partially

2019-06-24 12:50发布

我怎么可以设置背景颜色像下面的图片中背景的一部分:

当然,无边框框架,我只想设置青色。

我需要设置的左部分(青色)为微件长度的百分比的长度,例如30%。

Answer 1:

用CSS我会砍qlineargradient一点点。 需要注意的是青色的边缘可能会有点模糊。

QFrame
{
        background-color: qlineargradient(x1:0, x2: 1, stop: 0 cyan, stop: 0.29 cyan, stop: 0.2901 white, stop: 1 white);
}


Answer 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);
  ...
}


文章来源: Set background color only partially with stylesheets
标签: qt qt4 qt4.8