【问题标题】:Qt mouse cursor transparencyQt鼠标光标透明度
【发布时间】:2011-06-02 15:07:55
【问题描述】:

我想根据底层小部件的缩放级别(例如,RGBA = 200、200、200、128),将股票光标更改为半透明的、简单的实心圆、各种大小。

Qt 完全可以吗?如果不是,它是 Qt 还是底层库的限制?您是否对如何通过其他方式完成此操作有建议,例如隐藏光标并在光标位置覆盖透明像素图(尽管速度较慢)? TIA

【问题讨论】:

    标签: qt transparency alpha mouse-cursor


    【解决方案1】:

    QCursor 可以采用支持 alpha 通道的 QPixmap。所以我不明白为什么它不能完成。

    【讨论】:

      【解决方案2】:

      我只是在我自己的项目中发现了这一点。我在相关小部件的构造函数中使用此代码完成了此操作:

      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);
      

      【讨论】:

        猜你喜欢
        • 2010-10-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-02
        相关资源
        最近更新 更多