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)
|
|
}
|
|
}
|
|
'
|
|
}
|
|
|
|
}
|