2012-09-08 71 views

回答

0

QLabel從QFrame繼承。您可以使用它來創建陰影。

3

假設你有一個表單,你想從蒙上了一層陰影的標籤。

您可以使用QGraphicsDropShadowEffect像這樣:

QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect; 
effect->setBlurRadius(5); 
effect->setXOffset(5); 
effect->setYOffset(5); 
effect->setColor(Qt::black); 

label->setGraphicsEffect(effect); 

,效果將是:

enter image description here

這種效應的缺點是,如果你把它應用到一個小部件,它的所有孩子會繼承它。如果您將效果應用於具有大量小部件的小部件,這可能會產生問題,因爲這會減慢渲染時間。但對於你的例子來說,這是非常好的,並建議。

有關Qt中的效果的更多信息,請檢查QGraphicsDropShadowEffect也從中衍生出來的QGraphicsEffect類。