Blackberry级联不显示带有TabbedPane的qml文件

时间:2013-06-24 20:01:06

标签: qml blackberry-10 blackberry-cascades

我在QML文件中有一个TabbedPane布局,它在另一个QML文件中添加:

attachedObjects: [
        ComponentDefinition {
            id: attachmentViewer
            source: "EncryptedAttachmentViewer.qml"
        }
    ]

这是文件内容:

import bb.cascades 1.0

TabbedPane {
    showTabsOnActionBar: true
    Tab {
        title: "Text"
        Page {
            id:page1

            Label {
                text: _messages.messageViewer.attachment.text
                multiline: true
            }
        }
    }
    Tab {
        title: "HTML"
        Page {
            id: page2
            ListView {
                dataModel: _messages.messageViewer.attachment.htmllist
                listItemComponents: [
                    ListItemComponent {
                        type: "item"

                        Container {
                            WebView {
                                html: ListItemData.html

                            }
                        }
                    }
                ]
            }
        }
    }
    Tab {
        title: "Attachments"
        Page {
            id: page3
            ListView {
                dataModel: _messages.messageViewer.attachment.attachmentlist
                listItemComponents: [
                    ListItemComponent {
                        type: "item"

                        Container {
                            id: itemRoot

                            Label {
                                text: ListItemData.name
                            }
                        }
                    }
                ]
                onTriggered: {
                    _messages.messageViewer.invoke(dataModel.data(indexPath).tmpfilename)
                }
            }
        }
    }
}

在此之前是顺序布局,但是由于ScrollView中的Webview错误(webview几乎无限长),我想迁移到选项卡式布局。所以唯一改变的是这个文件中的QML,并且它们在滚动视图中之前的所有元素都工作(除了webview,如上所述)。

当我在父qml文件中使用navigationPane.push(attachmentViewer.createObject());触发此文件的加载时,没有任何反应。控制台中没有消息,但布局没有加载,而之前没有加载。是否有关于TabbedPanes的东西不允许它先被加载?

1 个答案:

答案 0 :(得分:2)

TabbedPane旨在成为您应用程序的第一页。不支持将其推送到NavigationPane。

您可以使用SegmentedControl。

顺便说一下,这个错误实际上发生在ListView中的WebView,而不是ScrollView中的Webview。如果它可以帮助您设计屏幕。