gpt4 book ai didi

qt - 按住Qml MouseArea移动窗口

转载 作者:行者123 更新时间:2023-12-04 13:01:59 24 4
gpt4 key购买 nike

我想知道如何通过按住Qt/QML中的MouseArea来移动窗口。

最佳答案

您可以使用以下方法将 View 小部件暴露给QML:

QmlApplicationViewer viewer;
QDeclarativeContext *context = viewer.rootContext();
context->setContextProperty("viewerWidget", &viewer);

然后修改其 pos属性以移动窗口:
MouseArea {        
anchors.fill: parent
property variant previousPosition
onPressed: {
previousPosition = Qt.point(mouseX, mouseY)
}
onPositionChanged: {
if (pressedButtons == Qt.LeftButton) {
var dx = mouseX - previousPosition.x
var dy = mouseY - previousPosition.y
viewerWidget.pos = Qt.point(viewerWidget.pos.x + dx,
viewerWidget.pos.y + dy)
}
}
}

关于qt - 按住Qml MouseArea移动窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10203260/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com