MyTabBar.xml
javascript
import QtQuick 2.14
import QtQuick.Templates 2.14 as Template1
Template1.TabBar {
id: control
property color backgroundColor: "#36c588"
property color borderColor: "grey"
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
contentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
contentHeight + topPadding + bottomPadding)
spacing: 1
contentItem: ListView {
model: control.contentModel
currentIndex: control.currentIndex
spacing: control.spacing
orientation: ListView.Horizontal
boundsBehavior: Flickable.StopAtBounds
flickableDirection: Flickable.AutoFlickIfNeeded
snapMode: ListView.SnapToItem
highlightMoveDuration: 0
highlightRangeMode: ListView.ApplyRange
preferredHighlightBegin: 40
preferredHighlightEnd: width - 40
}
background: Rectangle {
implicitHeight: 30
color: control.backgroundColor
Rectangle {
color: control.borderColor
width: parent.width
height: 1
anchors.bottom: parent.bottom
}
}
}
调用:
javascript
MyTabBar{
id: tabNavigator
x: 200
y: -11
width: 800
//tabbar默认平均分宽度
MyTabButton{
x: 0
y: 0
width: 120
text:qsTr("选项一")
font.preferShaping: false
wheelEnabled: false
font.kerning: false
onClicked:
{
//leftPanel.show();
toolBarPatient.visible=true;
toolBarScanner.visible=false;
toolBarImpantView.visible=false;
toolBarConsult.visible=false;
toolBarReport.visible=false;
patientTab.visible=true;
scannerTab.visible=false;
implantTab.visible=false;
consultTab.visible=false;
reportTab.visible=false;
}
}
MyTabButton{
x: 0
y: 0
width: 120
text:qsTr("选项二")
onClicked:
{
//leftPanel.show();
toolBarPatient.visible=false;
toolBarScanner.visible=true;
toolBarImpantView.visible=false;
toolBarConsult.visible=false;
toolBarReport.visible=false;
patientTab.visible=false;
scannerTab.visible=true;
implantTab.visible=false;
consultTab.visible=false;
reportTab.visible=false;
}
}
}