2012-05-17 45 views
4

我如何可以設置背景顏色像下面的圖片中背景的一部分:設置背景顏色只是部分的樣式表

enter image description here

當然,無邊框框架,我想只設置青色。

我需要設置左邊部分的長度(青色)作爲部件長度的百分比,例如30%。

回答

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

是的,我知道你問過關於樣式表,但硬編碼版本也是可能的,並且很容易完成。沒有模糊或不同的渲染,取決於您執行應用程序的平臺。 –