实现Tabview的另一种方式

 
 
 
  function showZLForm()
    {
        if(sForm === null)
        {
            var ckCom = Qt.createComponent("qrc:/1.qml");
            if(ckCom.status === Component.Ready)
            {
 
 
 
 
           sForm = ckCom.createObject(rec);
             sForm .anchors.fill = rec;
               sForm.visible = Qt.binding(function(){return tab.currentIndex === 0})
            }
            else
            {
                console.debug("巡检查看新建错误:", ckCom.errorString());
            }
            ckCom.destroy();
        }
 
 
         if(sForm!== null)
         {
             sForm.initData(0);
         }
    }
 
  
 
// 底部的tab菜单导航
    Row{
        id: tab;
 
 
        property int currentIndex: -1;
 
 
        width: visible ? parent.width : 0;
        anchors.bottom: parent.bottom;
        //anchors.bottomMargin:  10*pixelRate;
        //spacing: 10*pixelRate;
 
 
        Rectangle{
            id: sbzlBtn;
 
 
            width: parent.width / 2;
            height: pqphText.contentHeight * 2 + 6 * pixelRate;
            color: tab.currentIndex === 0 ? "#41BBAF" : "#E4E4E4";
            NSText{
                id: pqphText;
                text: qsTr("资料");
                verticalAlignment: Text.AlignVCenter;
                horizontalAlignment: Text.horizontalCenter;
                font.pixelSize: 12 * pixelRate;
                anchors.centerIn: parent;
                color: tab.currentIndex === 0 ? "black" : "black";
            }
 
 
            MouseArea{
                id: pqphMouse;
                anchors.fill: parent;
                onClicked: {
                    tab.currentIndex = 0;
                    showzlForm();
                }
            }
        }
 
 
 
 
        Rectangle{
            id: jkBtn;
            width: parent.width/2;
            height: jkText.contentHeight * 2 + 6 * pixelRate;
            color: tab.currentIndex === 1 ? "#41BBAF" : "#E4E4E4";
            NSText{
                id: jkText;
                text: qsTr("111");
                verticalAlignment: Text.AlignVCenter;
                horizontalAlignment: Text.horizontalCenter;
                font.pixelSize: 12 * pixelRate;
                anchors.centerIn: parent;
                color: tab.currentIndex === 1 ? "black" : "#black";
            }
 
 
            MouseArea{
                id: jkMouse;
                anchors.fill: parent;
                onClicked: {
                    tab.currentIndex = 1;
 
 
                    showForm();
                }
            }
        }
 
 
    }
 

猜你喜欢

转载自blog.csdn.net/qq_16628589/article/details/79650273