4

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

在此处输入图像描述

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

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

4

2 回答 2

6

使用 css 我会稍微破解 qlineargradient 。请注意,青色的边缘可能有点模糊。

QFrame
{
        background-color: qlineargradient(x1:0, x2: 1, stop: 0 cyan, stop: 0.29 cyan, stop: 0.2901 white, stop: 1 white);
}
于 2012-05-17T11:08:57.397 回答
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);
  ...
}
于 2012-05-17T12:07:22.083 回答