首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何改变QML的ApplicationWindow覆盖尺寸?

如何改变QML的ApplicationWindow覆盖尺寸?
EN

Stack Overflow用户
提问于 2020-04-04 22:07:19
回答 1查看 1.1K关注 0票数 0

由于Qt 5.10,可以为Popup元素设置Overlay附加属性。这里有一个例子,https://doc.qt.io/qt-5/qml-qtquick-controls2-overlay.html#modal-attached-prop。对于需要更改Popup的背景(将dim:属性设置为true )的情况,它确实很有用。但是对于如何改变Overlay大小(至少对我来说)没有任何线索。例如,我有一个定制的ApplicationWindow覆盖contents:属性,可以在窗口上绘制阴影(我的自定义窗口没有边框),并将MouseArea放置在边框之外,以模仿本机窗口的行为。可悲的部分是- Overlay画在整个窗口区域,这使它丑陋的地区以外的边界。

在使用dim:属性时,是否有人知道如何在Popup中调整重叠大小(至少指背景阴影)

下面是一个典型的Popup代码:

代码语言:javascript
运行
复制
Popup {
        id: popupReleaseNotes
        x: Math.round(parent.width/2 - width/2)
        y: Math.round(parent.height/2 - height/2)
        closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutside
        modal: true
        dim: true
    }

在这里,您可以在我的应用程序中看到它的样子:

覆盖背景越过我的自定义边界,这意味着它占据了所有的ApplicationWindow区域。这就是我想要改变的。到目前为止我还没有找到任何有记录的方法。

EN

回答 1

Stack Overflow用户

发布于 2020-04-05 14:13:59

我建议你使用ColorOverlay。

https://doc.qt.io/qt-5/qml-qtgraphicaleffects-coloroverlay.html

不管怎样,在我看来,你似乎错过了Overlay.Modal。在阅读文档()时,我期待着这样的事情:

代码语言:javascript
运行
复制
Popup {
        id: popupReleaseNotes
        x: Math.round(parent.width/2 - width/2)
        y: Math.round(parent.height/2 - height/2)
        closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutside
        modal: true

        visible: true

        Overlay.modal: Rectangle {
               anchors.fill: parent
               color: "#aacfdbe7"
        }
}

PS查看弹出窗口及其布局,以便了解内容项与背景之间的问题在哪里。也许你的调光是在比内容更大的背景上做的。https://doc.qt.io/qt-5/qml-qtquick-controls2-popup.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61035434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档