qt 5.1.0 window7 下窗体阴影设置透明后是黑色求解决
int main(int argc, char *argv[]){
QApplication app(argc, argv);
QQmlApplicationEngine engine(QUrl("qrc:/qml/main.qml"));
QObject *topLevel = engine.rootObjects().value(0);
QQuickWindow *window = qobject_cast<QQuickWindow *>(topLevel);
window->setColor(QColor(Qt::transparent));
QWidget* p = QWidget::createWindowContainer(window, NULL, Qt::FramelessWindowHint);
//p->setWindowOpacity(0);
p->setAttribute(Qt::WA_TranslucentBackground,true);
p->setStyleSheet("background:transparent;");
p->setAutoFillBackground(false);
p->show();
return app.exec();
}
qml:
import QtQuick 2.1
import QtQuick.Controls 1.0
import QtQuick.Window 2.0
Window {
title: qsTr("Hello World")
width: 640
height: 480
//color : "transparent"
Image {
id: bg
source: "../images/bg_02.png"
anchors.fill: parent
}
}
运行结果如下:
--------------------编程问答-------------------- 貌似Win7透明就是这效果
自己根据实际要求改改背景吧,设置个透明度的背景色 --------------------编程问答-------------------- 没有呀在mac上都是可以的。 --------------------编程问答-------------------- 我方的那张图片边框阴影都是透明渐变的只要设置alpha值true就好的,但是win7下qt5.1.0透明区域就编程黑色了 --------------------编程问答--------------------
+1
不同的平台,透明效果不一样。 --------------------编程问答--------------------
这个问题Qt5.1 beta时Mac上也是黑的,Qt5.1 release 解决了。
所以Win7出现这个问题不奇怪,不同平台是不一样的。 --------------------编程问答--------------------
也就是说qt5.1自己的bug了
补充:移动开发 , Qt