首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

Qt4.8.0+Qt3D 升级到 Qt5.0.0 Repeater生成Item3D不成功解决思路

2012-12-15 
Qt4.8.0+Qt3D 升级到 Qt5.0.0 Repeater生成Item3D不成功原来程序是基于Qt4.8.0 +Qt3D 1.0,有个Repeater把L

Qt4.8.0+Qt3D 升级到 Qt5.0.0 Repeater生成Item3D不成功
原来程序是基于Qt4.8.0 +  Qt3D 1.0,有个Repeater把ListModel中生成Item3D的功能,效果如下:


程序升级到Qt5.0.0 也就是第一个beta版后,功能不能实现了。尝试了有两天了,在老版本上代码运行正常,copy到新版后,不能实现功能。

哪个高手帮忙看看是哪里出了问题? 莫非是程序bug??

以下是代码:

import QtQuick 2.0
import Qt3D 2.0
import Qt3D.Shapes 2.0

Viewport {
        width:  600
        height: 400

    ListModel {
            id: mostvisited11
                ListElement { itemName: "index1"   ;filePath:"pics/1.jpg"   }
                ListElement { itemName: "index2"        ;filePath:"pics/2.jpg"   }
                ListElement { itemName: "index3"        ;filePath:"pics/3.jpg"   }
                ListElement { itemName: "index4"        ;filePath:"pics/2.jpg"   }
                ListElement { itemName: "index5"        ;filePath:"pics/3.jpg"   }
    }

    //中心立方体
    Cube { effect: Effect {  color:"red";  blending: true} }

    Component {
        id: octoDisplayDelegate
        Item3D {
            transform: [
                Translation3D { translate: Qt.vector3d(0, 0, 2.6) },
                Rotation3D {     axis: Qt.vector3d(0, 1, 0);
                                          angle: (360 / 16) * (index * 2 + 1) }
           ]
            Item3D {
               Cube { effect: Effect {  color:"red";  blending: true}
               Text { id: name1; x:index * 79; text: itemName ;color: "red" }
                }
            }
        }
    }

    Repeater {
         delegate:  octoDisplayDelegate


         model: mostvisited11
   }

}


[最优解释]
最原始的方法,不要用Repeater生成了,定义一个cube控件,然后按照位置关系依次摆放上去。很挫很挫的实现...
[其他解释]
看来Qt5兼容Qt4不太好。
[其他解释]
在qt5的beta2中已经剔除了,Qt3D的前途让人担忧...
[其他解释]
按理说应该向下兼容呀
[其他解释]
引用:
按理说应该向下兼容呀


确实不应该,可以把上面的代码分别在两个版本中执行下,Qt4.8.0中是 Qt3D 1.0。

另外在源码自带的例子中 qt3d\demos\quick3d\flickr3d 有个类似的功能,也执行不正确。
不排除本机环境问题,window7,vs2010。希望哪位高手救火。
[其他解释]
Qt5.0.0 bata1 在Qt3d这个模块上存在缺陷,有几个bug墨迹几天都过不去,放弃升级了。
在用的朋友们最好等着稳定版或者沿用老版本。

热点排行