0

我在 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 之外,如解释)之前都可以正常工作。

navigationPane.push(attachmentViewer.createObject());当我在父 qml 文件中触发该文件的加载时,什么也没有发生。控制台中没有消息,但布局没有加载,而之前没有加载。TabbedPanes 有什么东西不允许它先被加载吗?

4

1 回答 1

2

TabbedPane 被设计为应用程序的第一页。不支持将其推送到 NavigationPane 中。

您可以改用 SegmentedControl。

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

于 2013-06-24T21:32:53.073 回答