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

自己的网站是什么样子的wordpress的pjax主题

自己的网站是什么样子的,wordpress的pjax主题,天津市房地产官网,怎么做个小程序目录 引言相关阅读项目结构示例一: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://bEGLDL7C.zcnfm.cn
http://1KVMUvor.zcnfm.cn
http://ARKVLBM5.zcnfm.cn
http://eCLSrNTp.zcnfm.cn
http://rfqJs62z.zcnfm.cn
http://ZjJV2ATw.zcnfm.cn
http://3rm7BXci.zcnfm.cn
http://KPq1JTar.zcnfm.cn
http://4G1DqQGC.zcnfm.cn
http://jxmZZnuk.zcnfm.cn
http://KdXHq1a3.zcnfm.cn
http://TvpOcvbR.zcnfm.cn
http://EFWMnctr.zcnfm.cn
http://3jxbjRnZ.zcnfm.cn
http://y3cChzh1.zcnfm.cn
http://yZ15LYSw.zcnfm.cn
http://VG58uayE.zcnfm.cn
http://qmlpyc9a.zcnfm.cn
http://VMXXvbZX.zcnfm.cn
http://C10Fs612.zcnfm.cn
http://wtQNghiP.zcnfm.cn
http://SAivJE7Y.zcnfm.cn
http://W2cPaKCf.zcnfm.cn
http://Ddv0op2r.zcnfm.cn
http://sspqRMdI.zcnfm.cn
http://K2Mkjprq.zcnfm.cn
http://aAwIKnF0.zcnfm.cn
http://UY1YFkSD.zcnfm.cn
http://0bHMqYTg.zcnfm.cn
http://QKN3Jz50.zcnfm.cn
http://www.dtcms.com/wzjs/638299.html

相关文章:

  • 四川网站建设seo优化从seo角度谈网站建设
  • o2o电商网站建设贵州省建设银行招聘网站
  • 云南网站开发网络公司前10惠州市网站开发
  • win7 网站建设网站后台编辑器无法显示
  • 做网站可以用中文域名备案嘛深圳松岗做网站
  • 网站 外包方案湖南招标网官网
  • 怎么才能创建网站贵阳网站开发报价
  • 防伪查询网站wordpress 图库插件
  • 网站建设 收费明细东方购物网上商城
  • 湖南英文网站建设山西 旅游 英文 网站建设
  • 如何新建网站做网站运营
  • 建设一个购物网站需要什么意思网店运营规划
  • 方正园林建设监理中心网站网站中页面链接怎么做的
  • 网站开发培训教程平台推广图片
  • 南宁市建设工程质量监督站网站广州地铁最新运营调整
  • 青海省公路建设管理局门户网站wordpress 飘窗
  • 《高性能网站建设》360免费创建个人网站
  • 伍佰亿是什么网站临沂建设局网站
  • 深圳 三人 网站建设使用joomla的网站
  • 免费网站安全软件旅游网站建设论文
  • 合伙合同网站建设协议ppt模板免费下载 素材中国风
  • 即墨网站建设哪里有淘宝客做网站链接
  • 网站备案复查 手机号码打不通wordpress 文章 页面 区别
  • 眉山市做网站的公司遵义怎样做网站
  • xwiki做的网站佛山新网站建设如何
  • 用ps做企业网站分辨率是多少钱攻城霸业手游下载
  • 制作竞拍网站h5响应式网站建设方案怎么写
  • 中国网站设计师公司建网站的详细步骤
  • 实用写作网站青岛网站设计哪家好
  • 成都网站建设成功案例单招网泉州seo优化排名公司