相关疑难解决方法(0)

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();
}
Run Code Online (Sandbox Code Playgroud)

这是我的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)
        }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试拖动窗口时,我收到此错误:

TypeError:无法读取未定义的属性"x"

有任何想法吗 ?甚至可以使用QtQuick2吗?感谢帮助!

qml qt5 qtquick2

8
推荐指数
2
解决办法
6586
查看次数

标签 统计

qml ×1

qt5 ×1

qtquick2 ×1