Hi everyone,
I want to make a transparent window like:
trpr.png
I tried following codes:
MainWindow
::MainWindow(QWidget *parent
) : ui(new Ui::MainWindow)
{
ui->setupUi(this);
setAutoFillBackground( false );
setWindowFlags(Qt::FramelessWindowHint);
// setAttribute(Qt::WA_TranslucentBackground);
// setAttribute(Qt::WA_TransparentForMouseEvents);
alphaGradient.setColorAt(0.0, Qt::transparent);
alphaGradient.setColorAt(0.5, Qt::black);
alphaGradient.setColorAt(1.0, Qt::transparent);
QGraphicsOpacityEffect *effect = new QGraphicsOpacityEffect(this);
effect->setOpacityMask(alphaGradient);
effect->setOpacity(0.8);
setGraphicsEffect(effect);
}
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
setAutoFillBackground( false );
setWindowFlags(Qt::FramelessWindowHint);
// setAttribute(Qt::WA_TranslucentBackground);
// setAttribute(Qt::WA_TransparentForMouseEvents);
QLinearGradient alphaGradient(rect().topLeft(), rect().bottomLeft());
alphaGradient.setColorAt(0.0, Qt::transparent);
alphaGradient.setColorAt(0.5, Qt::black);
alphaGradient.setColorAt(1.0, Qt::transparent);
QGraphicsOpacityEffect *effect = new QGraphicsOpacityEffect(this);
effect->setOpacityMask(alphaGradient);
effect->setOpacity(0.8);
setGraphicsEffect(effect);
}
To copy to clipboard, switch view to plain text mode
If I use "WA_TranslucentBackground" background will be omitted from the widget (you can select anything behind it !) but, I need a semi transparent window which its opacity/transparency can be adjusted.
Thanks.
Bookmarks