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

Posted

技术标签:

【中文标题】属性定义运算符的“类型”字段中的点符号【英文标题】:Dot symbol in "type" field of property definition operator 【发布时间】:2014-05-02 12:34:56 【问题描述】:

我正在使用 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'

我已经在手册中搜索了可以解释此行为的内容,但看起来那里没有任何内容。我猜想在属性定义的“类型”字段中不允许使用点符号。但是有什么方法可以明确定义,哪个模块中的哪个组件应该用作类型?因为可能需要声明具有相同类型名但来自不同模块的属性。

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于属性定义运算符的“类型”字段中的点符号的主要内容,如果未能解决你的问题,请参考以下文章

位运算

数据库中逻辑运算符都有哪些

数据类型和运算符

在Python中,当作为类方法定义中的默认值传递时,赋值运算符是否会访问类或实例变量?

接口使用

mysql系列之二数据类型和运算符