2011-06-02 65 views
4

我想用一個半透明的,一個簡單的實心圓,各種尺寸的庫存光標,根據底層控件的縮放級別(比如RGBA = 200,200,200, 128)。Qt鼠標光標透明度

這是所有可能的Qt嗎?如果沒有,是Qt還是底層庫的限制?你有沒有建議如何通過其他方式來實現這一點,例如,隱藏光標並在光標位置疊加一個透明的像素圖(儘管速度較慢)? TIA

回答

1

QCursor可以採用支持alpha通道的QPixmap。所以我不明白爲什麼它不能完成。

1

我只是想出了一個我自己的項目。我在相關小部件的構造函數中使用了此代碼:

m_LPixmap = new QPixmap(32,32); 
m_LPixmap->fill(Qt::transparent); // Otherwise you get a black background :(
QPainter painter(m_LPixmap); 
QColor red(255,0,0,128); 

painter.setPen(Qt::NoPen);  // Otherwise you get an thin black border 
painter.setBrush(red); 

painter.drawEllipse(0,0,32,32); 
m_Cursor = QCursor(*m_LPixmap); 
setCursor(m_Cursor);