如何为背景的一部分设置背景颜色,如下图所示:
当然,如果没有边框,我只想设置青色。
我需要将左侧部分的长度(青色)设置为小部件长度的百分比,例如 30%。
使用 css 我会稍微破解 qlineargradient 。请注意,青色的边缘可能有点模糊。
QFrame
{
background-color: qlineargradient(x1:0, x2: 1, stop: 0 cyan, stop: 0.29 cyan, stop: 0.2901 white, stop: 1 white);
}
如果您希望在应用程序中对其进行硬编码,您可以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);
...
}