各位,小弟在用Qt的QGraphView進行繪制的時候,每個矩形item都是透明的只有邊框是黑色,當有個一個item置于最頂層時,因為是透明的所有會看到下邊的item的邊框,這個和需求不符合,怎么處理能讓下面的item的被遮擋部分的邊框也透明。如圖所示:

其中3在最上層,但是由于是透明的緣故,會看到底層Item被遮擋部分的邊框.怎么讓這部分邊框也就是箭頭指向的邊框也是透明呢?
uj5u.com熱心網友回復:
graphview不清楚,painter倒是有個clear模式,先清除一遍,再繪圖uj5u.com熱心網友回復:
你這個需求矛盾啊,又要透明,又要不透明擋住下面z軸部分,如果這樣就判斷有圖元重疊時,頂層圖元做填充不透明處理uj5u.com熱心網友回復:
item做不到部分透明部分不透明處理,除非你重寫QGraphicsItem的paint函式,然后在里面判斷item是否toplevel,再重新繪制一個邊框。uj5u.com熱心網友回復:
小弟也是頭痛,實際中是有個UI層,下面圖形層。不能把下面的圖形層放到QGraphItem中,所有要這樣處理,不然就會看圖形層被QGraphitem的邊框擋住。
uj5u.com熱心網友回復:
好的小弟先研究研究
uj5u.com熱心網友回復:
只能在QGraphicsItem的paint中去繪制,要不然你就把中間區域的顏色設定成和scene顏色一樣,這樣就會遮擋住下面item,看起來也像是透明的轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/40852.html
標籤:Qt
上一篇:android eclipse開啟時報錯,向大神求解
下一篇:android studio 中 com.thoughtworks.xstream與ksoap2沖突 java.util.zip.ZipException
