I want to use a png image with transparency and custom border in Qt mainwindow background like this.


(source: shiaupload.ir)

is there any good idea?

有帮助吗?

解决方案

You can do something like this:

this->setWindowFlags(Qt::FramelessWindowHint);
this->setAttribute(Qt::WA_TranslucentBackground);

Then paint the background of your window in the paint event.

Note: As pointed out by Dmitry, in Qt4 there is a bug with minimizing and restoring the window.

Another option is to use QWidget::setMask(const QBitmap & bitmap), but this could be slow if the region is complex.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top