-
Bug
-
Resolution: Invalid
-
P2: Important
-
None
-
5.0.0, 5.1.1
-
None
-
Windows XP
I'm porting my programs to Qt5, but failed to show a translucent window. It works well when I’m using Qt 4.8.
Here is the code:
#include <QtWidgets/QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QScopedPointer<QApplication> app(new QApplication(argc, argv));
QWidget w;
w.resize(500, 400);
QPalette palette = w.palette();
palette.setColor(QPalette::Base, Qt::transparent);
w.setPalette(palette);
w.setAttribute(Qt::WA_TranslucentBackground); //this line will make the program crash
w.setWindowFlags(Qt::FramelessWindowHint);
QLabel *label = new QLabel("Some label", &w);
label->setObjectName("label");
w.show();
return app->exec();
}
If I set the attribute: w.setAttribute(Qt::WA_TranslucentBackground);
then the program will crash when executing app->exec();
at _heap_alloc, with a tremendous size. It seems heap corrupted.
But the code is OK in Qt 4.8.
I post this in forum(http://qt-project.org/forums/viewthread/24344) but so far no response. So I doubt is it a bug or is there some thing I neglected ?
- relates to
-
QTBUG-28531 WA_TranslucentBackground widget issues
-
- Closed
-