属性定义运算符的"类型"字段中的点符号

Leo*_*cpp 5 qt qml qt5 qtquick2 qt5.2

我正在使用Qt 5.2和QtQuick 2.2.在我的项目中,我有几个模块放在分开的目录中.我的问题是我在定义属性时不能在typename中使用点分隔符.例如:

MyRect.qml

import QtQuick 2.2

Rectangle {
   id: root
   property color rectColor: "white"

   color: root.rectColor 
}
Run Code Online (Sandbox Code Playgroud)

MyRectInRect.qml

import QtQuick 2.2
import "./" as MyModule

Rectangle {
   id: root

   property MyModule.MyRect innerRect: MyModule.MyRect {  } 
   // ^ error: Unexpected token `.'; Unexpected token `identifier'
}
Run Code Online (Sandbox Code Playgroud)

我已经在手册中搜索了可以解释这种行为的东西,但看起来在那里没有任何关于它的东西.我猜这个点符号不允许在属性定义的"类型"字段中使用.但有没有办法明确定义哪个模块应该作为一个类型使用哪个组件?因为可能需要声明具有相同类型名称的属性,但是来自不同的模块.

Mit*_*tch 1

这是一个已知问题:QTBUG-10822