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 に答える