139 lines
3.8 KiB
QML
139 lines
3.8 KiB
QML
|
import QtQuick
|
|||
|
import QtQuick.Controls
|
|||
|
import QtQuick.Layouts
|
|||
|
import QtQuick.Window
|
|||
|
import FluentUI
|
|||
|
import "../component"
|
|||
|
|
|||
|
FluScrollablePage{
|
|||
|
|
|||
|
title:"TabView"
|
|||
|
leftPadding:10
|
|||
|
rightPadding:10
|
|||
|
bottomPadding:20
|
|||
|
spacing: 0
|
|||
|
|
|||
|
property var colors : [FluColors.Yellow,FluColors.Orange,FluColors.Red,FluColors.Magenta,FluColors.Purple,FluColors.Blue,FluColors.Teal,FluColors.Green]
|
|||
|
|
|||
|
Component{
|
|||
|
id:com_page
|
|||
|
Rectangle{
|
|||
|
anchors.fill: parent
|
|||
|
color: argument
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
function newTab(){
|
|||
|
tab_view.appendTab("qrc:/res/image/favicon.ico","Document "+tab_view.count(),com_page,colors[Math.floor(Math.random() * 8)].dark)
|
|||
|
}
|
|||
|
|
|||
|
Component.onCompleted: {
|
|||
|
newTab()
|
|||
|
newTab()
|
|||
|
newTab()
|
|||
|
}
|
|||
|
|
|||
|
FluArea{
|
|||
|
Layout.fillWidth: true
|
|||
|
Layout.topMargin: 20
|
|||
|
height: 50
|
|||
|
paddings: 10
|
|||
|
RowLayout{
|
|||
|
spacing: 14
|
|||
|
FluDropDownButton{
|
|||
|
id:btn_tab_width_behavior
|
|||
|
Layout.preferredWidth: 140
|
|||
|
text:"Equal"
|
|||
|
items:[
|
|||
|
FluMenuItem{
|
|||
|
text:"Equal"
|
|||
|
onClicked: {
|
|||
|
btn_tab_width_behavior.text = text
|
|||
|
tab_view.tabWidthBehavior = FluTabView.Equal
|
|||
|
}
|
|||
|
},
|
|||
|
FluMenuItem{
|
|||
|
text:"SizeToContent"
|
|||
|
onClicked: {
|
|||
|
btn_tab_width_behavior.text = text
|
|||
|
tab_view.tabWidthBehavior = FluTabView.SizeToContent
|
|||
|
}
|
|||
|
},
|
|||
|
FluMenuItem{
|
|||
|
text:"Compact"
|
|||
|
onClicked: {
|
|||
|
btn_tab_width_behavior.text = text
|
|||
|
tab_view.tabWidthBehavior = FluTabView.Compact
|
|||
|
}
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
FluDropDownButton{
|
|||
|
id:btn_close_button_visibility
|
|||
|
text:"Always"
|
|||
|
Layout.preferredWidth: 120
|
|||
|
items:[
|
|||
|
FluMenuItem{
|
|||
|
text:"Nerver"
|
|||
|
onClicked: {
|
|||
|
btn_close_button_visibility.text = text
|
|||
|
tab_view.closeButtonVisibility = FluTabView.Nerver
|
|||
|
}
|
|||
|
},
|
|||
|
FluMenuItem{
|
|||
|
text:"Always"
|
|||
|
onClicked: {
|
|||
|
btn_close_button_visibility.text = text
|
|||
|
tab_view.closeButtonVisibility = FluTabView.Always
|
|||
|
}
|
|||
|
},
|
|||
|
FluMenuItem{
|
|||
|
text:"OnHover"
|
|||
|
onClicked: {
|
|||
|
btn_close_button_visibility.text = text
|
|||
|
tab_view.closeButtonVisibility = FluTabView.OnHover
|
|||
|
}
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
FluArea{
|
|||
|
Layout.fillWidth: true
|
|||
|
Layout.topMargin: 15
|
|||
|
height: 400
|
|||
|
paddings: 10
|
|||
|
FluTabView{
|
|||
|
id:tab_view
|
|||
|
onNewPressed:{
|
|||
|
newTab()
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
CodeExpander{
|
|||
|
Layout.fillWidth: true
|
|||
|
Layout.topMargin: -1
|
|||
|
code:'FluTabView{
|
|||
|
anchors.fill: parent
|
|||
|
Component.onCompleted: {
|
|||
|
newTab()
|
|||
|
newTab()
|
|||
|
newTab()
|
|||
|
}
|
|||
|
Component{
|
|||
|
id:com_page
|
|||
|
Rectangle{
|
|||
|
anchors.fill: parent
|
|||
|
color: argument
|
|||
|
}
|
|||
|
}
|
|||
|
function newTab(){
|
|||
|
tab_view.appendTab("qrc:/res/image/favicon.ico","Document 1",com_page,argument)
|
|||
|
}
|
|||
|
}
|
|||
|
'
|
|||
|
}
|
|||
|
|
|||
|
}
|