pyside6 qml 自定义边框
 作者:Mr_No爱学习
- 2022-11-01  浙江
 本文字数:1227 字
阅读完需:约 4 分钟
思路一是将边框拆分成了上下左右四个自定义控件
import QtQuick 2.15
Rectangle{    width: 400    height: 100    anchors.centerIn: parent    Column{        width:1        height:parent.height        spacing: 5        clip: true        anchors.left: parent.left        Repeater{            anchors.fill: parent            model: parent.height/10            delegate: Rectangle{                width: 1                height: 10                color: "black"            }        }    }    Column{        width:1        height:parent.height        spacing: 5        clip: true        anchors.right: parent.right        Repeater{            anchors.fill: parent            model: parent.height/10            delegate: Rectangle{                width:1                height: 10                color: "black"            }        }    }    Row{        width: parent.width        height: 1        spacing: 5        clip: true        anchors.top: parent.top        Repeater{            anchors.fill: parent            model: parent.width/10            delegate: Rectangle{                width: 10                height: 1                color: "black"            }        }    }    Row{        width: parent.width        height: 1        spacing: 5        clip: true        anchors.bottom: parent.bottom        Repeater{            anchors.fill: parent            model: parent.width/10            delegate: Rectangle{                width: 10                height: 1                color: "black"            }        }    }}复制代码
 虚线边框效果:
 调整 repeater 里的 rectangle 为小方块
Repeater{  anchors.fill: parent  model: parent.height/2  delegate:Rectangle{    width: 2    height: 2    color: "black"  }}复制代码
 效果:
 调整为一长一短的线条
Repeater{    anchors.fill: parent    model: parent.width/2    delegate: Rectangle {        width: index % 2 === 0 ? 2 : 10        height: index % 2 === 0 ? 2 : 1        color: "black"    }}复制代码
 效果
 长线条加圆点
Repeater{    anchors.fill: parent    model: parent.width/5    delegate: Rectangle {        width: index % 2 === 0 ? 4 : 10        height: index % 2 === 0 ? 4 : 1        radius: index % 2 === 0 ? 2 : 0        color: "black"    }}复制代码
 效果
 还有一种思路是通过 shape 去画 ShapePath,待补充
------------------------------------------------------------------------------------------------------------
划线
评论
复制
发布于: 刚刚阅读数: 3
Mr_No爱学习
关注
还未添加个人签名 2019-09-13 加入
还未添加个人简介









    
评论