QML:弹出 anchors.centerIn 模糊内容(没有 anchors.alignWhenCentered)

Posted

技术标签:

【中文标题】QML:弹出 anchors.centerIn 模糊内容(没有 anchors.alignWhenCentered)【英文标题】:QML: Popup anchors.centerIn blurs content (no anchors.alignWhenCentered) 【发布时间】:2021-05-10 12:29:33 【问题描述】:

QML 类型 Popup 不是 Item 类型。因此,唯一可以设置的anchors-property 是anchors.centerIn

通常您可以设置anchors.alignWhenCentered: true,但这对于导致我的内容模糊的弹出窗口是不可能的(因为位置没有四舍五入到像素)。

这是 Qt 中的错误还是我做错了什么?我想一种解决方法是自己计算位置,但我觉得这里的 Qt 有问题或另一种简单的方法可以做到这一点。

获取模糊弹窗的示例代码(您需要仔细观察,我在下面添加了一个屏幕截图作为示例):

Popup 
    anchors.centerIn: Overlay.overlay

弹出窗口内的按钮没有 anchors.centerIn:

Popup 内的按钮 with anchors.centerIn:

【问题讨论】:

【参考方案1】:

我仍然确定这是 Qt 中的一个错误,但这里有一个解决方法。 这只会手动计算 Popup 的位置并四舍五入到整个像素:

Popup 
    x: ~~(Overlay.overlay.width / 2 - width / 2)
    y: ~~(Overlay.overlay.height / 2 - height / 2)

【讨论】:

以上是关于QML:弹出 anchors.centerIn 模糊内容(没有 anchors.alignWhenCentered)的主要内容,如果未能解决你的问题,请参考以下文章

Qml翻转效果

按qml按钮但没有反应

QML实现多选按钮

QML - 为什么动画会发生冲突?

qml: 自定义按钮-- 仿QML自带控件;

如何在 3D 中对 QML 旋转变换进行动画处理和属性插值