Qml blackberry 10全局选项卡栏应用程序(全局选项卡窗格)
我正在创建一个具有全局选项卡栏的应用程序。“Actionbar”应该有5个按钮,并且应该显示在每个屏幕上。 有没有办法在没有“标签菜单”帮助的情况下,一次在“ActionBar”上放置5个标签? 我如何使这个选项卡式窗格全球化?因为后者在应用程序中我使用navigationPane,它取代了tabbedpane。我希望选项卡窗格栏在所有屏幕上都可见 更新:: 我试过床单,但标签不见了Qml blackberry 10全局选项卡栏应用程序(全局选项卡窗格),qml,blackberry-10,Qml,Blackberry 10,我正在创建一个具有全局选项卡栏的应用程序。“Actionbar”应该有5个按钮,并且应该显示在每个屏幕上。 有没有办法在没有“标签菜单”帮助的情况下,一次在“ActionBar”上放置5个标签? 我如何使这个选项卡式窗格全球化?因为后者在应用程序中我使用navigationPane,它取代了tabbedpane。我希望选项卡窗格栏在所有屏幕上都可见 更新:: 我试过床单,但标签不见了 import bb.cascades 1.0 TabbedPane { showTabsOnActi
import bb.cascades 1.0
TabbedPane {
showTabsOnActionBar: true
Tab {
Page {
titleBar: TitleBar {
title: "1"
}
attachedObjects: [
ComponentDefinition {
id: mySheet
source: "sheets.qml"
}
]
Button {
onClicked: {
var sheet = mySheet.createObject();
sheet.open();
}
text: "sheet"
}
}
}
Tab {
}
}
和my sheets.qml文件
导入bb.cascades 1.0
Sheet {
id: mySheet
content: Page {
Container {
Label {
text: "Hi then"
}
Button {
text: "close"
onClicked: {
onClicked: mySheet.close()
}
}
}
}
}
“我如何使这个选项卡窗格成为全局的?因为后者在应用程序中我使用navigationPane,它取代了选项卡窗格。”
如果我正确理解了您的问题,您希望始终有一个选项卡窗格,而不是稍后由navigationpane替换
您需要将选项卡窗格作为qml中的主要对象。导航窗格应该位于每个选项卡的内部,因此基本上5个选项卡意味着您将有5个导航窗格
当您需要推送页面时,请将其推送到相关选项卡的navigationpane
更新:
工作表允许您将页面推送到选项卡窗格的顶部。以下是一个例子:
创建一个根项为工作表的qml文件,例如
Sheet {
content: Page {
Container {
... insert content
}
}
}
然后在选项卡窗格中执行以下操作:
TabbedPane {
Tab {
NavigationPane {
id: tab1Nav
Page {
}
}
}
}
内部附件对象
ComponentDefinition {
id: sheetDefinition
source: "mypage.qml"
}
在函数/onclick/etc中:
var sheet = sheetDefinition.createObject;
sheet.open();
更新2:
要在选项卡窗格中推送页面,请执行以下类似操作:
TabbedPane {
Tab {
NavigationPane {
id: tab1Nav
Page {
}
}
}
}
然后使用
tab1Nav.push(page);
或者替换navigationpane的内容以保留选项卡。“如何使此选项卡窗格成为全局的?因为在应用程序中,后者使用navigationpane,它替换了选项卡窗格。”
如果我正确理解了您的问题,您希望始终有一个选项卡窗格,而不是稍后由navigationpane替换
您需要将选项卡窗格作为qml中的主要对象。导航窗格应该位于每个选项卡的内部,因此基本上5个选项卡意味着您将有5个导航窗格
当您需要推送页面时,请将其推送到相关选项卡的navigationpane
更新:
工作表允许您将页面推送到选项卡窗格的顶部。以下是一个例子:
创建一个根项为工作表的qml文件,例如
Sheet {
content: Page {
Container {
... insert content
}
}
}
然后在选项卡窗格中执行以下操作:
TabbedPane {
Tab {
NavigationPane {
id: tab1Nav
Page {
}
}
}
}
内部附件对象
ComponentDefinition {
id: sheetDefinition
source: "mypage.qml"
}
在函数/onclick/etc中:
var sheet = sheetDefinition.createObject;
sheet.open();
更新2:
要在选项卡窗格中推送页面,请执行以下类似操作:
TabbedPane {
Tab {
NavigationPane {
id: tab1Nav
Page {
}
}
}
}
然后使用
tab1Nav.push(page);
或者替换navigationpane的内容以保持选项卡的位置。据我所知,一次最多只能看到4个选项卡。如果你有4个以上的标签,那么它将有三个点选项,这将显示列表的其余部分。据我所知,你一次最多只能看到4个标签。如果你有超过4个,那么它将有三个点选项,这将显示列表的其余部分。是的,但黑莓的tabbepPane默认情况下只出现在首页,当我按下其他页面时,它就会消失。而且我也不能把tabbedPane推到tabbedpaneaah中,好吧,那么你想要的是使用表单。可以将工作表放置在选项卡窗格的顶部,而不会影响它。我会更新答案并举例说明。我已经为你们更新了我的答案。我误解了你想做的事。一张纸会覆盖整个屏幕(隐藏标签),所以我的原始想法是你需要的,那就是你需要重用标签。但与其“推送”页面,不如替换navigationpane的内容。请注意物品的顺序。Root是tabbedpane,选项卡内是navigationpane。您必须更改的是navigationpane,而不是tabbedpane,它应该可以正常工作。在我执行push之后,选项卡也被禁用,我已经尝试过=(“或者替换navigationpane的内容以保持选项卡的位置”=>如何引用上一页的选项卡以将其放置在navigationpane上?是的,但blackberry中的tabbepPane默认情况下仅出现在首页,当我按下其他页面时,它会消失。而且我也不能将tabbedPane推入TabbedPaneAah,好的,那么您想要的是使用工作表。工作表可以放置在tabbedPane的顶部,而无需af影响它。我将更新答案并给出示例。我已经为您更新了答案。我对您想要做的事情有点误解。一张工作表将覆盖整个屏幕(隐藏标签),因此我最初的想法是您需要的是重新使用标签。而不是“推”重新设置页面,而不是替换navigationpane的内容。请注意对象的顺序。Root是选项卡窗格,选项卡内是navigationpane。您必须更改的是navigationpane,而不是选项卡窗格,它应该可以正常工作。在我执行推送操作后,选项卡也被取消,我已经尝试过了=(“或替换navigationpane的内容以保留选项卡”=>如何引用上一页中的选项卡以将其放置在navigationpane上?