Qt Quick之TableView的使用

本博只是简单的展示TableView的基本使用(TableView、style:TableViewStyle、headerDelegate、rowDelegate、itemDelegate、Table

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

 本博只是简单的展示TableView的基本使用(TableView、style:TableViewStyle、headerDelegate、rowDelegate、itemDelegate、TableViewColumn、ListModel及访问和修改Model),关于更多属性和方法的使用可以参考TableView QML Type

1. 效果图

  Qt Quick之TableView的使用

2. 代码实现

import QtQuick 2.9 import QtQuick.Window 2.2 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 Window { visible: true width: 300 height: 480 title: qsTr("Hello World") TableView { id:stockTable; anchors.left: parent.left; anchors.top:parent.top; anchors.topMargin: 10; anchors.right: parent.right; anchors.bottom: parent.bottom; //alternatingRowColors : true;  style:TableViewStyle { id:tstyle; backgroundColor:"white"; alternateBackgroundColor:"#f6F6F6"; textColor:"black"; // 设置TableView的头部  headerDelegate: Canvas { implicitWidth:100; implicitHeight:32; onPaint: { var ctx = getContext("2d"); ctx.lineWidth = 2; ctx.strokeStyle="red"; ctx.fillStyle="blue"; ctx.beginPath(); console.log("width:",width,"--","height:",height); ctx.rect(0,0,width,height); ctx.stroke(); ctx.font="14pt sans-serif"; ctx.textAlign="right" ctx.textBaseLine="middle"; ctx.fillText(styleData.value,width-2,height/2+10); } } // 设置行  rowDelegate:Rectangle { height:30; color: styleData.selected? "red": (styleData.alternate ? tstyle.backgroundColor : tstyle.alternateBackgroundColor); } // 设置单元格  itemDelegate: Text { text:styleData.value; font.pointSize:13; verticalAlignment:Text.AlignVCenter; horizontalAlignment:Text.AlignRight; } } TableViewColumn { role:"code"; title:qsTr("Code"); width:120; movable: false; } TableViewColumn { role:"name"; title:qsTr("Name"); width:120; movable: false; } ListModel { id: libraryModel ListElement { code: "159922" name: "500ETF" } ListElement { code: "600030" name: "中信证券" } ListElement { code: "300244" name: "迪安诊断" } } model: libraryModel; } }

3. 访问和修改Model

(1) 访问数据

 itemDelegate: Text { text:styleData.value; font.pointSize:13; verticalAlignment:Text.AlignVCenter; horizontalAlignment:Text.AlignRight; MouseArea { anchors.fill:parent; onClicked: { console.log("currentRow:",styleData.row, "-", styleData.column); console.log(libraryModel.get(styleData.row).code, "-", libraryModel.get(styleData.row).name); } } }

(2)删除数据

 rowDelegate:Rectangle { height:30; color: styleData.selected? "red": (styleData.alternate ? tstyle.backgroundColor : tstyle.alternateBackgroundColor); MouseArea { anchors.fill:parent; onClicked: { libraryModel.remove(styleData.row);  } } }

(3)修改数据

 itemDelegate: Text { text:styleData.value; font.pointSize:13; verticalAlignment:Text.AlignVCenter; horizontalAlignment:Text.AlignRight; MouseArea { anchors.fill:parent; onClicked: { console.log("currentRow:",styleData.row, "-", styleData.column); console.log(libraryModel.get(styleData.row).code, "-", libraryModel.get(styleData.row).name); libraryModel.set(styleData.row, {"code":"888888", "name":"modify"});  } } }

(4)添加数据

 rowDelegate:Rectangle { height:30; color: styleData.selected? "red": (styleData.alternate ? tstyle.backgroundColor : tstyle.alternateBackgroundColor); MouseArea { anchors.fill:parent; onClicked: { //libraryModel.remove(styleData.row); libraryModel.append({"code":"666666", "name":"add"}); } } }

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/120075.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 20210225-1 Python错误与异常「建议收藏」

    20210225-1 Python错误与异常「建议收藏」一、什么是异常Python错误与异常什么是异常>异常是一个事件,该事件会在程序执行过程中发生,影响程序的正常执行。一般情况下,在Python无法正常处理程序时就会发生异常。异常是Pyth

  • google的ipv6地址_Google礼品卡

    google的ipv6地址_Google礼品卡#GooglePlus2a00:1450:8007::64plus.google.com2404:6800:8005::62talkgadget.google.com##Google.comGoogle.com2404:6800:8005::68www.google.com#主页2404:6800:8005::c1m.google.com#Google移动版2404:6…

  • java编译命令是什么_Java编译命令整理

    java编译命令是什么_Java编译命令整理引言近期在做Android相关开发工作,不可避免的需要接触Java层的调用机制,好多年不用Java了,这里整理下相关的编译命令。作为后续参考使用,也防止每次都需要到处查找。基本概念javac-Javaprogramminglanguagecompiler,Java编译器,类似gccjava-theJavaApplicationLauncher,Java程序加载器,类似操作系统的…

  • java lamba表达式_非负简单函数表达式如何理解

    java lamba表达式_非负简单函数表达式如何理解在写之前,我在考虑是否要写这篇文章,然而当我查阅“lambda表达式”的相关内容的时候,我发现大量的文章都出现了冗余的现象,文章的篇幅过于夸张,严重影响了大家阅读的兴趣,因此我决定写一篇关于lambda表达式的文章,让大家能够在一定程度上对lambda表达式有一定的理解。希望能够对你在Java的学习中起到一定的帮助。

    2022年10月28日
  • intellij idea 配置svn及提交项目「建议收藏」

    intellij idea 配置svn及提交项目「建议收藏」一、intellijidea安装svn前提条件:你的电脑安装了小乌龟,也就是svn。1、配置svn如下图箭头所示,在安装TortoiseSVN的时候,默认commandlineclienttools,表示使用IDEa自带的svn。然后,选中你的svn安装的路径2、配置svn地址添加svn地址路径二、intellijidea提交项目1、…

  • AngularJS_简介、特性及基本使用_及其工作原理[通俗易懂]

    AngularJS_简介、特性及基本使用_及其工作原理[通俗易懂]转自:angularJS的工作原理转自:通过<script>标签引入到HTML中,那么此时Angular就做为一个普通的DOM节点等待浏览器解析当浏览器解析到这个节点时,

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号