QtQuick2 перетаскивая безрамное окно
Я ищу способ перетаскивания безрамного окна в QtQuick2. Я следил за этой веткой на форумеСсылка но это дает мне ошибку.
Основное отличие в коде состоит в том, что мой код используетQtQuick2ApplicationViewer
вместоQmlApplicationViewer
и похожеQtQuick2ApplicationViewer
не имеют свойства «.pos».
Это мой 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();
}
Это часть моего 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)
}
}
Когда я пытаюсь перетащить окно, я получаю эту ошибку:
Ошибка типа: невозможно прочитать свойство 'x' из неопределенного
Есть идеи ? Это вообще возможно с QtQuick2? Спасибо за помощь!