【发布时间】:2018-07-07 12:24:06
【问题描述】:
如何在 C++ 中获得 QML ApplicationWindow 的大小?
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
if (engine.rootObjects().isEmpty())
return -1;
QObject *application_object = engine.rootObjects().first();
// Throws ApplicationWindow_QMLTYPE_11::height(int), no such signal
QObject::connect(application_object, SIGNAL(height(int)), &my_obj_here, SLOT(set_game_height(int)));
QObject::connect(application_object, SIGNAL(width(int)), &my_obj_here, SLOT(set_game_width(int)));
return app.exec();
我意识到我也没有获得 ApplicationWindow 内容的大小(减去工具栏、菜单栏等),但我该如何访问呢?
尝试使用property 方法访问window_object 上的window 属性会返回一个空指针。
【问题讨论】:
-
什么是
window_object? -
@eyllanesc,一个从我的代码中复制和粘贴的神器。我更新了 sn-p 以使其更具代表性。
标签: c++ qt qml qt5 applicationwindow