当前位置: 首页 > news >正文

理解电子商务网站建设与管理店面logo设计制作

理解电子商务网站建设与管理,店面logo设计制作,大同建设工程信息网,网站改版多久恢复背景 感觉QML自带的TreeView不是很好用,用在文件路径树形结构比较多,但是想用在自己数据里,就不太方便了,所以自己做一个。 用‘ListView里迭代ListView’的方法,制作树形结构,成果图: 代码…

背景

感觉QML自带的TreeView不是很好用,用在文件路径树形结构比较多,但是想用在自己数据里,就不太方便了,所以自己做一个。

用‘ListView里迭代ListView’的方法,制作树形结构,成果图:
在这里插入图片描述

代码

新建一个MyTreeView.qml用来写主要代码,再在main.qml中调用MyTreeView,并为它填充数据。
这里数据是在qml中用JSON.parse构建的json数据,也可以在cpp中用QJsonArray和QJsonObject来构建数据。

// MyTreeView.qml
import QtQuick 2.0Item {id: rootproperty alias model: list_view.modelListView {id: list_viewwidth: contentWidthanchors.fill: parentanchors.margins: 10delegate: list_delegate}Component {id: list_delegateItem{id: list_itemgroupwidth: leftLine.width + centre.width + rightLine.width + listView.widthheight: Math.max(centre.height, listView.height)property int lineY: leftLine.yRectangle {id: leftLinewidth: 20height: 1color: "#d3dee4"visible: modelData.id >= 0anchors.verticalCenter: centre.verticalCenter}Rectangle {id: centrewidth: 150height: 50color: "#d3dee4"radius: 5anchors.left: leftLine.rightanchors.verticalCenter: parent.verticalCenterText {text: qsTr(modelData.name)font.pixelSize: 20font.bold: trueanchors.centerIn: parent}}Rectangle {id: rightLinewidth: 20height: 1color: "#d3dee4"visible: modelData.subnodes.length > 0anchors.verticalCenter: centre.verticalCenteranchors.left: centre.right}Rectangle {id: verticalLinewidth: 1color: "#d3dee4"x: parent.width + 1visible: modelData.subnodes.length > 1anchors.top: parent.topanchors.bottom: parent.bottom}ListView {id: listViewdelegate: list_delegateheight: contentHeightwidth: contentWidthanchors.right: parent.rightmodel: modelData.subnodesspacing: 10onModelChanged: {}}Component.onCompleted: {listView.forceLayout()  // 要先确保listView加载子项完成// 画一下verticalLine的y坐标起点和终点for (var i = 0; i < modelData.subnodes.length; i++) {var item = listView.itemAtIndex(i)if (i === 0) {verticalLine.anchors.topMargin = item.lineY} else if (i === modelData.subnodes.length-1) {verticalLine.anchors.bottomMargin = item.lineY}}}}}
}
// main.qml
import QtQuick 2.15
import QtQml.Models 2.15
import QtQuick.Window 2.12
import QtQuick.Controls 1.4Window {id: window_width: 940height: 680visible: truetitle: qsTr("Hello World")color: "#103e6f"Item {id: homeanchors.fill: parentMyTreeView {id: treeViewanchors.fill: parent}}Component.onCompleted: {var data = JSON.parse('[{"id": -1,"name": "目录","subnodes": [{"id": 0,"name": "第一本书","subnodes": [{"id": 1,"name": "第一章","subnodes": [{"id": 2,"name": "第一节","subnodes": []}, {"id": 3,"name": "第二节","subnodes": []}]}, {"id": 4,"name": "第二章","subnodes": [{"id": 5,"name": "第一节","subnodes": []}, {"id": 6,"name": "第二节","subnodes": []}, {"id": 7,"name": "第三节","subnodes": []}]}]}, {"id": 8,"name": "第二本书","subnodes": [{"id": 9,"name": "第一章","subnodes": [{"id": 10,"name": "第一节","subnodes": []}, {"id": 11,"name": "第二节","subnodes": []}]}, {"id": 12,"name": "第二章","subnodes": [{"id": 13,"name": "第一节","subnodes": []}]}]}]}]')treeView.model = data}}
http://www.yayakq.cn/news/263484/

相关文章:

  • seo网站编辑专业wordpress端口修改
  • 自己怎么做机构网站房城乡建设部网站
  • 玉器企业网站源码wordpress的密码算法
  • 举报的网站是国外的域名和空间网站开发人员知乎
  • html留言簿网站基本框架搭建公司网站建设30元
  • 汶上县建设局官方网站discuz是什么东西
  • 天津做网站选津坤科技软件开发流程有哪些阶段
  • 还有用的网站郑州高端做网站汉狮
  • 自动获取网站缩略图中交路桥建设有限公司待遇
  • 官方网站建设投标书国金紫郡府淮北论坛
  • 如何做发表文章的网站做爰全过程免费的视频网站爱
  • 手游发号网站模板用PYTHON3 做网站
  • 网站制作公司价格北京seo运营
  • 西安网站建设是什么北京建机职业技能鉴定中心证书查询
  • 新会网站设计公司设计图平面
  • 网站建设运营公司大全wordpress用户前台积分
  • 厦门网站开发平台网页版qq空间登录入口官网
  • 企业网站的推广阶段长沙互联网公司在哪个区
  • 关键词搜索爱站网网站图片移动怎么做的
  • 怎么做网站认证自己怎么做优惠搜网站
  • 云南网站优化排名信息发布类网站模板
  • 网站被安全狗拦截网站推广怎么写
  • 怎么做旅游网站框架实训课做一个网站怎么做
  • 做性视频网站有哪些交易所开发深圳网站制作
  • 手机端网站做app最近一周体育新闻大事
  • 网站制作深圳赣州网站建设机构
  • 化学网站建设网站不能添加图片
  • 织梦做商城网站水果网络营销方案
  • 高端网站开发教程wordpress能注册
  • 手机壁纸网站大全wordpress 模板 管理系统