liunx开发QT显示png图片的透明部分不显示LAYOUT的背景颜色的相应部分,而是直接显示默认的最底层的背景颜色,求解?

img


在绿色的背景色上面显示了白色的图片,图片一个角用Photoshop改成透明的,所以显示在上面不应该是绿色的背景色吗?
代码:

QPalette previewPalette;
previewPalette.setColor(QPalette::Background, QColor(0x2A, 0xA6, 0x68, 0xff));  //绿色
this->setPalette(previewPalette);
this->setGeometry(0, 0, g_nWinWidth, g_nWinHeight);

QWidget *mainlwidget;
mainlwidget = new QWidget(this);

img_label = new QLabel(mainlwidget);
img_label->setGeometry(QRect(100, 250, 600, 850));
image_gr.load("/isc/res/gr1.png");    
img_label->setPixmap(image_gr);