Qt投影具有不同不透明度级别的PNG图像

Qt投影具有不同不透明度级别的PNG图像,qt,Qt,有没有办法在Qt应用程序上以不同的不透明度投影PNG图像?(例如,0.0和1.0之间的值,其中0.0完全不可见)。图像元素是Item元素的子类。Item元素具有不透明度属性。创建一个小部件,该小部件位于要覆盖的所有其他小部件之上。使用所需的不透明度在函数中绘制图像 叠加 #include <QWidget> #include <QPixmap> class Overlay : public QWidget { Q_OBJECT public: Over

有没有办法在Qt应用程序上以不同的不透明度投影PNG图像?(例如,0.0和1.0之间的值,其中0.0完全不可见)。

图像元素是Item元素的子类。Item元素具有不透明度属性。

创建一个小部件,该小部件位于要覆盖的所有其他小部件之上。使用所需的不透明度在函数中绘制图像

叠加

#include <QWidget>
#include <QPixmap>

class Overlay : public QWidget
{
    Q_OBJECT

public:
    Overlay( QWidget *parent = NULL ) : QWidget( parent ), opacity( 0 )
    {
    }

    void SetPixmap( const Pixmap& p )
    { 
        pixmap = p;
        update();
    }

    void SetOpacity( qreal o )
    { 
        opacity = o;
        update();
    }

protected:
    virtual void paintEvent( QPaintEvent* )
    {
        QPainter paint( this );
        paint.setOpacity( opacity );
        paint.drawPixmap( rect(), pixmap );
    }

private:
    QPixmap pixmap;
    qreal opacity;
}
#包括
#包括
类覆盖:公共QWidget
{
Q_对象
公众:
覆盖(QWidget*parent=NULL):QWidget(parent),不透明度(0)
{
}
void SetPixmap(const Pixmap&p)
{ 
pixmap=p;
更新();
}
无效设置不透明度(QRO)
{ 
不透明度=0;
更新();
}
受保护的:
虚拟void paintEvent(QPaintEvent*)
{
QPainter油漆(本);
绘制。设置不透明度(不透明度);
drawPixmap(rect(),pixmap);
}
私人:
QPixmap;
直肠混浊;
}

这是对Qt(c++)应用程序框架的响应,还是对Qt(Quicktime)的响应?你所说的项目是什么意思?什么都画?把一切都抛在脑后?作为小部件的一部分绘制?所有这些都是可能的。在小部件顶部绘制。对