Qt投影具有不同不透明度级别的PNG图像
有没有办法在Qt应用程序上以不同的不透明度投影PNG图像?(例如,0.0和1.0之间的值,其中0.0完全不可见)。图像元素是Item元素的子类。Item元素具有不透明度属性。创建一个小部件,该小部件位于要覆盖的所有其他小部件之上。使用所需的不透明度在函数中绘制图像 叠加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
#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)的响应?你所说的项目是什么意思?什么都画?把一切都抛在脑后?作为小部件的一部分绘制?所有这些都是可能的。在小部件顶部绘制。对