如何使用GrabWindow?

时间:2018-05-03 17:16:11

标签: c++ qt qtquick2

我找到了一个班级GrabWindow,但我在Qt Quick 2中是一个noobie并且无法获得如何使用它。
有人可以解释我如何使用这种观点吗? 这时我加入了我的主要功能:

#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QtQml>
#include "grabwindow.h"

int main(int argc, char *argv[]) {
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);

    QGuiApplication app(argc, argv);

    qmlRegisterType<GrabWindow>("test", 1, 0, "GrabWindow");

    QQmlApplicationEngine engine;

    engine.load(QUrl(QStringLiteral("qrc:/qml/SystemTray.qml")));
    if (engine.rootObjects().isEmpty()) {
        return -1;
    }

    GrabWindow grabWnd;
    grabWnd.setResizeMode(QQuickView::SizeViewToRootObject);
    grabWnd.setSource(QUrl(QStringLiteral("qrc:/qml/main.qml")));
    grabWnd.setFlags(Qt::Popup);
    grabWnd.show();

    return app.exec();
}

我的main.qml

import QtQuick 2.9
import QtQuick.Controls 2.2

ApplicationWindow {
    id: window
    visible: true
    width: 320
    height: 480
    title: qsTr("test")
}

但是一开始我只能得到它:
Screenshot

如何使用该类获取屏幕截图并删除屏幕左上角的方块?

ADDED
我使用的是Ubuntu 17.10

0 个答案:

没有答案