从C++访问 QML 的布局镜像附加属性
Accessing QML's LayoutMirroring attached property from C++
LayoutMirroring
QML 附加属性允许将项目的方向性从左到右切换到从右到左,反之亦然。我想从C++代码中访问项目的当前LayoutMirroring
值,从而扩展 QML 应用程序。我知道 qmlAttachedPropertiesObject
函数可用于从C++访问附加属性,如文档中所述,但我不知道在哪里可以找到表示此特定属性的类 C++。
有可能做到吗?
从 Qt5 开始,可以使用 QQmlProperty 类轻松读取和写入附加属性。
简单main.qml
文件:
import QtQuick 2.0
Rectangle {
LayoutMirroring.enabled: true
LayoutMirroring.childrenInherit: true
}
要阅读上面的简单C++代码LayoutMirroring.enabled
附加属性:
QQuickView view;
view.setSource(QUrl(QStringLiteral("qrc:/main.qml")));
view.show();
QQuickItem* rootItem = view.rootObject();
qDebug() << QQmlProperty::read(rootItem, "LayoutMirroring.enabled", qmlContext(rootItem));
控制台输出:
=> QVariant(bool, true)
import QtQuick 1.1
Rectangle {
id: parentRect
property alias layoutValue : LayoutMirroring.enabled// ? true : false;// Read Only
LayoutMirroring.enabled: false
LayoutMirroring.childrenInherit: true
width: 300; height: 50
color: "yellow"
border.width: 1
Row {
anchors { left: parent.left; margins: 5 }
y: 5; spacing: 5
Repeater {
model: 5
Rectangle {
color: "red"
opacity: (5 - index) / 5
width: 40; height: 40
Text {
text: index + 1
anchors.centerIn: parent
}
}
}
}
}
#include#include#include#include#include "qmlapplicationviewer.h"Q_DECL_EXPORT int main(int argc, char *argv[]({ QScopedPointer app(createApplication(argc, argv((; QScopedPointer viewer(QmlApplicationViewer::create(((; viewer->setOrientation(QmlApplicationViewer::ScreenOrientationAuto(; viewer->setMainQmlFile(QLatin1String("qml/Test/main.qml"((; QDeclarativeProperty propLayout(viewer->rootObject((,"layoutValue"(; QDeclarativeProperty propLayoutMargin(viewer->rootObject((,"anchors.leftMargin"(; qDebug(( showExpanded((; 返回 app->exec((;}
相关文章:
- 在python docker镜像上安装simstring(SWIG)
- 将移动设备(iOS和Android)连接到带有QT / C++和镜像显示的VNC服务器
- 将迭代器从原始容器镜像到其副本
- 更快的图像镜像算法
- C++;镜像并从 std::basic_istream<> 中穿过?
- VTK-如何翻转镜像
- 仅使用位操纵来获得镜像的六角形
- 为什么我的 iFFT 图像带有镜像副本
- 在此镜像代码中,可以是什么样的矩阵转换
- 函数来创建镜像c++
- 如何交换像素以镜像图像c++
- 减少每个像素的级别数,创建镜像,C++
- 为什么 qopenglshader程序在 qt 中显示镜像
- 如何镜像矩阵的一个维度
- 有什么方法可以在内部镜像Microsoft的符号服务器吗?
- 生成彼此不是镜像的排列
- 实现镜像
- 将控制台输出镜像到c++中的文件
- 创建具有特定格式的位图以反转/镜像该位图
- 从C++访问 QML 的布局镜像附加属性