【发布时间】:2020-01-20 03:08:32
【问题描述】:
当我调整包含 Frame 和 InnerShadow 的 Qt Quick ApplicationWindow 的大小时,我看到闪烁和视觉伪影。当我不替换默认边框或为Frame 对象使用简单矩形时,情况并非如此。
我在运行 64 位 Arch Linux 的笔记本电脑上对此进行了测试。它有一个 Nvidia GTX 1060 Max Q 显卡和一个集成的 Intel 显卡。我在有和没有bumblebee 的情况下运行了代码。
有什么方法可以解决或消除这种闪烁?这很糟糕。我的代码和一些屏幕截图如下
编辑:我尝试设置 AA_ShareOpenGLContexts 和 AA_UseOpenGLES(及其软件/桌面变体)属性,但没有成功。
更新:我在这里创建了一个问题:https://bugreports.qt.io/browse/QTBUG-81519,但我仍然希望有人可以设计一个解决方法。
test.qml
import QtQuick 2.14
import QtQuick.Controls 2.14
import QtGraphicalEffects 1.14
ApplicationWindow{
id: main
width: 2*screen.width/3
height: 2*screen.height/3
title: "Test ApplicationWindow"
color: activeColorPalette.window
visible:true
SystemPalette {
id: activeColorPalette
colorGroup: SystemPalette.Active
}
Frame{
anchors.fill: parent
anchors.margins: 10
background: Item{
id: root
anchors.fill: parent
Rectangle{
anchors.fill: parent
anchors.margins: 1
radius: 16
color: activeColorPalette.window
}
InnerShadow {
anchors.fill: root
horizontalOffset: 0
verticalOffset: 0
source: root
radius: 16
color: activeColorPalette.shadow
spread: 0.6
samples: 32
cached: true
fast:true
}
}
}
}
没有闪烁或伪影的窗口
调整大小时出现闪烁/视觉伪影的窗口
【问题讨论】:
标签: linux qt qml qtquick2 qtquickcontrols2