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

制作外贸网站的公司简介基于django的电子商务网站设计

制作外贸网站的公司简介,基于django的电子商务网站设计,wordpress录音功能,二级网站开发 一级关系目录 引言相关阅读项目结构示例一:ListView样式定制代码解析运行效果 示例二:ListView数据交互代码解析运行效果 总结 引言 在现代应用程序开发中,列表视图是最常见且实用的UI组件之一。Qt Quick(QML)提供了强大的Lis…

目录

    • 引言
    • 相关阅读
    • 项目结构
    • 示例一:ListView样式定制
      • 代码解析
      • 运行效果
    • 示例二:ListView数据交互
      • 代码解析
      • 运行效果
    • 总结

引言

在现代应用程序开发中,列表视图是最常见且实用的UI组件之一。Qt Quick(QML)提供了强大的ListView组件,它不仅可以高效地展示大量数据,还能通过自定义实现丰富的交互效果。本文将以一个简单的QML ListView项目为例,展示如何打造既美观又实用的列表视图,包括样式定制和数据交互两个实例。

相关阅读

在深入了解本项目之前,建议先了解以下QML相关资源:

  • ListView组件官方文档

项目结构

以下是本项目的结构图:

qml_listview项目
CMakeLists.txt
main.cpp
ListViewStyle.qml
ListViewInteraction.qml
resource.qrc
images文件夹
avatar1.png
avatar2.png
avatar3.png

项目说明:

  • CMakeLists.txt:CMake构建配置文件
  • main.cpp:C++入口文件,负责启动QML应用
  • ListViewStyle.qml:样式定制的示例QML文件
  • ListViewInteraction.qml:数据交互的示例QML文件
  • resource.qrc:Qt资源文件,用于管理项目资源
  • images/:存放项目中使用的图片资源

示例一:ListView样式定制

在这个示例中创建了一个联系人列表,展示了如何自定义ListView的各个部分,包括header、delegate和section。

代码解析

import QtQuick
import QtQuick.ControlsWindow {width: 400height: 600visible: truetitle: "ListView 样式定制示例"// 定义数据模型ListModel {id: contactModelListElement { name: "张三"; avatar: "qrc:/images/avatar1.png"; status: "在线" }ListElement { name: "李四"; avatar: ""; status: "在线" }ListElement { name: "王五"; avatar: ""; status: "在线" }ListElement { name: "菜狗"; avatar: "qrc:/images/avatar2.png"; status: "离线" }ListElement { name: "老六"; avatar: "qrc:/images/avatar3.png"; status: "忙碌" }}

首先定义了应用窗口和数据模型。ListModel包含联系人的名称、头像路径和状态信息。

    ListView {anchors.fill: parentmodel: contactModelspacing: 2clip: true// 自定义headerheader: Rectangle {width: parent.widthheight: 50color: "#2D82B5"Text {anchors.centerIn: parenttext: "联系人列表"font.pixelSize: 20color: "white"}}

ListView组件使用contactModel作为数据源,并通过header属性自定义了一个蓝色标题栏。

        // 自定义delegatedelegate: Rectangle {width: parent.widthheight: 80color: ListView.isCurrentItem ? "#BCE6FF" : "white"border.width: 0MouseArea {anchors.fill: parentonClicked: parent.ListView.view.currentIndex = index}Row {anchors.fill: parentanchors.margins: 10spacing: 10// 头像区域Item {width: 60height: 60// 图片头像Image {id: avatarImageanchors.fill: parentsource: avatarvisible: status === Image.ReadyfillMode: Image.PreserveAspectCropRectangle {anchors.fill: parentcolor: "#999999A0"  // 半透明灰色visible: model.status === "离线"}}// 文字头像(当图片加载失败时显示)Rectangle {visible: avatarImage.status !== Image.Readyanchors.fill: parentradius: 30color: "#E0E0E0"Text {anchors.centerIn: parenttext: name[0]font.pixelSize: 24}}}

delegate部分定义了列表项的显示方式。然后为每个联系人显示头像(如果有)或首字母头像(如果头像加载失败)。当点击列表项时,该项会被设置为当前项并改变背景色。对于离线状态的联系人,头像上会显示一层半透明灰色蒙版。

                Column {anchors.verticalCenter: parent.verticalCenterspacing: 5Text {text: namefont.pixelSize: 16font.bold: true}Text {text: statuscolor: {if (status === "在线") return "#4CAF50"if (status === "离线") return "#9E9E9E"return "#F44336"}}}}}

联系人信息部分使用Column布局显示姓名和状态,并根据状态值动态设置颜色:在线为绿色,离线为灰色,忙碌为红色。

        // 自定义sectionsection.property: "status"section.delegate: Rectangle {width: parent.widthheight: 30color: "#F5F5F5"Text {anchors.verticalCenter: parent.verticalCenteranchors.left: parent.leftanchors.leftMargin: 10text: sectionfont.bold: truecolor: "#2D82B5"}}}
} 

最后,使用section功能按联系人状态对列表进行分组,每个分组都有一个淡灰色背景的标题栏显示状态名称。

运行效果

样式定制


示例二:ListView数据交互

第二个示例展示了如何实现与ListView的数据交互,包括添加和删除列表项。

代码解析

import QtQuick
import QtQuick.Controls
import QtQuick.LayoutsWindow {width: 400height: 600visible: truetitle: "ListView 数据交互示例"// 定义数据模型ListModel {id: fruitModelListElement { name: "苹果"; price: "5.0" }ListElement { name: "香蕉"; price: "3.5" }ListElement { name: "橙子"; price: "4.0" }}

这个示例中,我们创建了一个水果列表,包含水果名称和价格信息。

    ColumnLayout {anchors.fill: parentspacing: 10// 添加新水果的输入区域RowLayout {Layout.margins: 10TextField {id: nameInputplaceholderText: "水果名称"Layout.fillWidth: true}TextField {id: priceInputplaceholderText: "价格"Layout.fillWidth: true}Button {text: "添加"onClicked: {if (nameInput.text && priceInput.text) {fruitModel.append({"name": nameInput.text, "price": priceInput.text})nameInput.text = ""priceInput.text = ""}}}}

界面顶部有两个输入框和一个"添加"按钮,用于添加新的水果项。通过调用fruitModel.append()方法,我们可以将新项添加到模型中,ListView会自动更新显示。

        // ListView显示区域ListView {id: listViewLayout.fillWidth: trueLayout.fillHeight: truemodel: fruitModeldelegate: ItemDelegate {width: listView.widthcontentItem: RowLayout {Text { text: name; Layout.fillWidth: true }Text { text: price + "元" }Button {text: "删除"onClicked: fruitModel.remove(index)}}}}}
}

ListView的delegate使用了ItemDelegate和RowLayout来布局每个水果项,显示名称和价格,并添加了一个"删除"按钮。点击删除按钮时,调用fruitModel.remove(index)方法删除相应的项。

运行效果

数据交互


总结

本文通过两个实例展示了QML ListView的强大功能:

  1. 样式定制示例:展示了如何自定义ListView的外观,包括头部、列表项和分组,创建具有吸引力的用户界面。
  2. 数据交互示例:展示了如何通过简单的界面操作实现对ListView数据的添加和删除。

QML强大的声明式语法和丰富的组件库使得创建复杂而美观的列表界面变得简单高效。通过合理利用ListView的各种属性和功能,我们可以构建出既美观又实用的列表视图,满足各种应用场景的需求。

项目代码已上传至Gitcode,您可以通过以下链接获取完整代码:
GitCode QML ListView示例

GitCode - QML - ListView 示例


文章转载自:

http://MgacnOsp.txLxr.cn
http://nDzAiMOl.txLxr.cn
http://ahm2uRIc.txLxr.cn
http://OunTJOM9.txLxr.cn
http://1bVFiTaV.txLxr.cn
http://z5QoSpZL.txLxr.cn
http://TD97MOi5.txLxr.cn
http://mIpS7liL.txLxr.cn
http://IJoOXOMk.txLxr.cn
http://5oUn87Vs.txLxr.cn
http://rFomkchX.txLxr.cn
http://tnAFJ7TK.txLxr.cn
http://IcTM8xgc.txLxr.cn
http://4fT1mGqu.txLxr.cn
http://9LezOqa6.txLxr.cn
http://gxpx0OGC.txLxr.cn
http://2440NkrN.txLxr.cn
http://UuH4SQ5u.txLxr.cn
http://y0UVgS16.txLxr.cn
http://FELNuyzl.txLxr.cn
http://YfQQIIzB.txLxr.cn
http://ivjMtud9.txLxr.cn
http://ejE8voK7.txLxr.cn
http://3tMvcuZo.txLxr.cn
http://vvW8WRR3.txLxr.cn
http://oxdx4oku.txLxr.cn
http://okyPlGLl.txLxr.cn
http://RMv99rzG.txLxr.cn
http://cM5xFubi.txLxr.cn
http://KyNN9Lw6.txLxr.cn
http://www.dtcms.com/wzjs/608901.html

相关文章:

  • 利用别人域名做自己的网站建站之星怎么安装
  • 五合一建站国内知名网站建设伺
  • 专门做衣服的网站有哪些网站建设功能说明书
  • 旅游酒店网站建设苏州吴江做网站公司
  • 神华两学一做网站微信卖货小程序怎么做
  • 梅州建站费用多少网站开发需要学习什么技术
  • 陈塘庄网站建设电商网站商品页的优化目标是什么
  • 潍坊网站建设方案推广wordpress 段代码
  • 开一个网站_只做同城交易qq空间登录
  • 礼品网站模板校园网站建设结论
  • 兰州网站怎么建设经营一个小型app多少钱
  • wordpress 网站加速秦皇岛最新消息今天
  • 盐城哪有做网站建设的培训机构排名前十
  • 网站建设费是什么鹤壁seo
  • 做led灯网站有哪些呢建设一个返利网站
  • 网上做兼职的网站湖南省建设厅安许审核公布网站
  • 申请网站到哪里电子商城app
  • 内江规划建设教育培训中心网站建设广告网站需要资质吗
  • 学校网站建设公司开发公司介绍
  • 专门做cg视频网站网站建设人工费
  • 做网站备案时审批号网站关键词优化
  • 网站建设标准 方案书nginx ssl wordpress
  • 企业网站定制开发流程建网站收费
  • 永州公司做网站wordpress视频略缩图
  • wordpress建站优势建设网站的服务端口
  • 公司网站制作建设部网站焊工证件查询
  • 酷我音乐网站架构企业网站的建设报价
  • 网站做标签沧州公司官网
  • 汽车网站名称天猫官网商家入驻入口
  • 成都网站设计优秀柚v米科技室内设计网络课程