如何在QML应用中得到一个Item的所有属性,信号及方法,qmlitem

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在QML应用中得到一个Item的所有属性,信号及方法,qmlitem相关的知识,希望对你有一定的参考价值。

参考技术A Item是QML语言中最基本的元素。有时为了方便,我们可以列出它里面的所有的属性,信号及方法。我们可以通过这个方法来修改我们的属性等。在QML语言中,所有的可视的控件都是继承于Item的。

下面我们来通过一个例子来展示如何这么做。我们可以设计一个简单的QML应用如下:

import QtQuick 2.0
import Ubuntu.Components 1.1

/*!
\brief MainView with a Label and Button elements.
*/

MainView
// objectName for functional testing purposes (autopilot-qt5)
objectName: "mainView"

// Note! applicationName needs to match the "name" field of the click manifest
applicationName: "properties.liu-xiao-guo"

/*
This property enables the application to change orientation
when the device is rotated. The default is false.
*/
//automaticOrientation: true

// Removes the old toolbar and enables new features of the new header.
useDeprecatedToolbar: false

width: units.gu(100)
height: units.gu(75)

Page
title: i18n.tr("properties")

Rectangle
id: rect
x: 0; y: 0
width: 100; height: 100
color: "blue"

Component.onCompleted:
var keys = Object.keys(rect);
for(var i = 0; i < keys.length; i++)
var key = keys[i];
// prints all properties, signals, functions from object
console.log(key + ' : ' + rect[key]);

if (key === "x")
rect[key] = 100;








这里rect最初的坐标为(0,0)。在Component.onCompleted中,我们遍历所有的属性,信号及方法。我们把x的值修改为100

以上是关于如何在QML应用中得到一个Item的所有属性,信号及方法,qmlitem的主要内容,如果未能解决你的问题,请参考以下文章

如何导出 qmlitem 的所有属性/信号?

Qt Qml连接到Context属性的QObject属性的信号

QML::常用基础控件属性1

如何将C ++类设置为qml中的Item?

QML 鼠标事件

如何将信号从一个 qml 发送到另一个