提问人:Jiang C 提问时间:11/17/2023 最后编辑:Jiang C 更新时间:11/17/2023 访问量:22
关于qt6 qtquick macos中的QML,移动矩形但留下透明的阴影框,否则界面背景是完全透明的
about qt6 qtquick QML in macos.move rectangle but leave transparent shadow box,otherwise the interface background is completely transparent
问:
首先,这张图是我创建的UI,在这里输入图片描述 下一张图片是移动矩形后在这里反向输入图片描述的UI,矩形移动但留下一个阴影与框架。 经过我的测试,只要在透明背景上使用动画移动矩形,就会出现这种现象。 这个效果不是我预想的。 否则,Windows没有这种现象,只有macOS有这种现象。
密钥代码将在下面显示。
c++
QGuiApplication app(argc,argv);
QQuickViewer viewer;
viewer.setColor(Qcolor(Qt::transparennt));
viewer.setFlag(Qt::FramelessWindowHint);
viewer.setFlag(Qt::WindowStaysOnTopHint);
viewer.setSource(QUrl("qrc:/QTQA-Creator/Main.qml"));
viewer.show();
qml
Rectangle {
id: mainRectangle
objectName: "mainRectangle"
width: 850
height: 600
color:Qt.rgba(0,0,0,0)
Rectangle{
id: mainPageRectangle
objectName: "mainPageRectangle"
width: 770
height: 600
radius: 10
gradient: Gradient {
GradientStop { position: 0.0; color: Qt.rgba(220/255,42/255,214/255,0.6) }
//GradientStop { position: 0.5; color: "green" }
GradientStop { position: 1.0; color: Qt.rgba(80/255,30/255,247/255,0.6) }
}
Rectangle{
id:ttes
width: 50
height: 50
color: "yellow"
}
}
PathAnimation {
id: parabolaAnimation
target: mainPageRectangle
duration: 1000
path: Path {
startX: 0; startY: 0
PathQuad {
x: 20; y: 0
controlX: 100; controlY: 300
}
PathQuad {
x: 50; y: 0
controlX: 300; controlY: 100
}
}
}
Component.onCompleted:{
parabolaAnimation.start();
}
}
这段代码在Windows中运行没有这个问题,macOS也有这个问题。
如果取消,也会显示此问题。viewer.setColor(Qcolor(Qt::transparennt));
答: 暂无答案
评论