我在一个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 bug (webview的长度几乎是无限的),我想迁移到选项卡式布局。因此,唯一改变的是这个文件中的QML,其中的所有元素以前在滚动视图中都有效( webview除外,如上所述)。
当我使用父qml文件中的navigationPane.push(attachmentViewer.createObject());触发这个文件的加载时,什么也没有发生。控制台中没有消息,但是布局没有加载,而之前没有加载。是不是有什么关于TabbedPanes的东西不允许它不先加载?
发布于 2013-06-25 05:32:53
TabbedPane被设计为应用程序的首页。不支持推送到NavigationPane中。
您可以改用SegmentedControl。
顺便说一句,bug实际上发生在ListView中的WebView,而不是ScrollView中的Webview。如果它可以帮助你设计你的屏幕。
https://stackoverflow.com/questions/17284052
复制相似问题