仅使用样式表部分设置背景颜色

时间:2012-05-17 10:27:27

标签: qt qt4 qt4.8

如何设置部分背景的背景颜色,如下图所示:

enter image description here

当然,没有边框,我只想设置青色。

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

2 个答案:

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