Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt “中的点符号”;“类型”;属性定义运算符的字段_Qt_Qml_Qt5_Qtquick2_Qt5.2 - Fatal编程技术网

Qt “中的点符号”;“类型”;属性定义运算符的字段

Qt “中的点符号”;“类型”;属性定义运算符的字段,qt,qml,qt5,qtquick2,qt5.2,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 } MyRectInRect.qml import QtQuick 2.2 import "./

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

MyRect.qml

import QtQuick 2.2

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

   color: root.rectColor 
}
MyRectInRect.qml

import QtQuick 2.2
import "./" as MyModule

Rectangle {
   id: root

   property MyModule.MyRect innerRect: MyModule.MyRect {  } 
   // ^ error: Unexpected token `.'; Unexpected token `identifier'
}
我在手册中搜索了一些可以解释这种行为的东西,但看起来好像什么都没有。我猜在属性定义的“类型”字段中不允许使用点符号。但有没有办法明确定义,哪个模块中的哪个组件应该用作类型?原因可能需要声明具有相同类型名但来自不同模块的属性

这是一个已知的问题: