QtQuick2 arrastrando ventana sin marco
Estoy buscando una forma de arrastrar una ventana sin marco en QtQuick2. Seguí este hilo en el foro.Enlazar Pero me da un error.
La principal diferencia en el código es que mi código usaQtQuick2ApplicationViewer
en lugar deQmlApplicationViewer
y pareceQtQuick2ApplicationViewer
no tienen propiedad ".pos".
Este es mi main.cpp
#include <QtGui/QGuiApplication>
#include "qtquick2applicationviewer.h"
#include <QQmlContext>
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QtQuick2ApplicationViewer viewer;
viewer.rootContext()->setContextProperty("QmlApplicationViewer", (QObject *)&viewer);
viewer.setFlags(Qt::FramelessWindowHint);
viewer.setMainQmlFile(QStringLiteral("qml/ubusell/main.qml"));
viewer.showExpanded();
return app.exec();
}
Esto es parte de mi main.qml
MouseArea {
id: mouseRegion
anchors.fill: parent;
property variant clickPos: "1,1"
onPressed: {
clickPos = Qt.point(mouse.x,mouse.y)
}
onPositionChanged: {
var delta = Qt.point(mouse.x-clickPos.x, mouse.y-clickPos.y)
print(QmlApplicationViewer.pos)
QmlApplicationViewer.pos = (20,20)
QmlApplicationViewer.pos = Qt.point(QmlApplicationViewer.pos.x+delta.x,
QmlApplicationViewer.pos.y+delta.y)
}
}
Cuando intento arrastrar la ventana me sale este error:
TypeError: no se puede leer la propiedad 'x' de undefined
Algunas ideas ? ¿Es incluso posible con QtQuick2? ¡Gracias por la ayuda!