QML学习十七:TableView的简单使用

article/2025/8/25 19:23:00

若该文为原创文章,转载请注明原文出处

一、TableView

TableView是Qt Quick为表格式呈现数据提供的组件。

TableView与ListView类似,相比之下多了滚动条、挑选、可调整尺寸的表头等特性,数据也是通过Model来提供,此篇使用的是内建Model。

二、TableView简单例子

定义TableViewColumn,描述表格的每一列,这是必须的,否则表格无法显示。

代码

重写main.qml

import QtQuick 2.6
import QtQuick.Window 2.2
import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
import QtQuick.Layouts 1.12Window {id: windowvisible: truewidth: 600height: 480title: qsTr("QML自定义组件")TableView {id: phoneTableanchors.fill: parentTableViewColumn {role: "name"title: "Name"width: 100elideMode: Text.ElideRight}TableViewColumn {role: "cost"title: "Cose"width: 100}TableViewColumn {role: "manufacturer"title: "Manufacturer"width: 140}model: ListModel {id: phoneModelListElement {name: "iphone 5"cost: "4900"manufacturer: "Apple"}ListElement {name: "iphone 8"cost: "4900"manufacturer: "Apple"}ListElement {name: "iphone 6"cost: "4900"manufacturer: "Apple"}ListElement {name: "iphone 7"cost: "4900"manufacturer: "Apple"}}focus: true}
}

编译结果:

 显示出来效果和ListView差不多, 但增加了头,而且有默认的样式,如果不喜欢还可以定制表格样式。

三、动态增删改查 TabelView


有时你可能会想给 TableView 添加一列(一个字段),这时可以使用addColumn()方法, 其参数是 TableViewColumn,指向一个 TableViewColumn 实例,你可以动态创建这个实例。

对于前两节的示例,第三列可以这样添加进去:

Component.onCompleted: {var col = Qt.createQmlObject("import QtQuick 2.2\nimport QtQuick.Controls 		 1.2\nTableViewColumn{ role: \"mamifacturer\"; title: \"Manufacturer\"; width: 140; }", phoneModel);phoneTable.addColumn( col );
}



要想在指定位置添加一列,可以使用insertColumn(index, column)方法,index 参数指定列的索引,column 参数与 addColumn() 的参数一样。

如果你想删除某列,可以使用removeColumn(index)方法,指定列索引即可。

TableView 还提供了moveColumn(from, to),用于将一列从位置 from 移动到 to。

而如果你想给 TableView 动态添加数据,则可以通过调用 ListModel 的 append() 或 insert() 方法实现。删除数据通过 ListModel 的 clear() 或 remove() 方法实现。这些在前面介绍 ListView 的时候都已经介绍过了。

对于自定义的 Model,比如在 C++ 中实现的,则需要提供增、删、改数据的接口。
 

如有侵权,请及时联系博主删除,VX:18750903063


http://chatgpt.dhexx.cn/article/7eTYbQKa.shtml

相关文章

JavaFX中TableView的使用

稍微说说JavaFX里面TableView怎么用,(其实在JavaFX的源码中都有示例。。。) 首先要了解TableView是用来做什么的,TableView是JavaFX的一个表视图,用来显示表格的,在TableView的类注释中写了 /*** see Tab…

Qt4实现TableView显示表格数据

最近又开始搞QT开发了,前面学的MVC啥的都忘得差不多了,重新整理一遍思路吧。 目前的需求是:读取文本文件,表格型数据,用tableview显示出来,最后画图。这涉及到三个问题,文件读写,数…

NAT模式下的虚拟机网络配置

原理 NAT模式,也叫地址转换模式, 当把我们的虚拟机的上网方式设置为NAT模式时,虚拟机、宿主机、各网卡之间的连接关系可用下图来表示: 具体配置流程 1 将本地以太网共享到v8适配器上 2 查看虚拟网络编辑中的NAT模式下的子网IP…

虚拟机vmware设置nat模式上网

桥接模式上网:虚拟机vmware设置桥接模式上网_cao849861802的博客-CSDN博客 首先虚拟机有两个虚拟网卡vmnet0和vmnet8 这个vmnet0默认的是桥接模式,这个vmnet8默认是nat模式; 我们这里只看nat模式,所以先不关心vmnet0虚拟网卡&a…

VMware16NAT模式配置固定IP

文章目录 前言一、NAT配置固定IP二、重启网卡结尾 前言 为什么要配置固定IP呀?这个很容易解释啊,因为配置集群要设置固定IP(主结点需要管理子结点,通过固定IP识别机器),因为你访问虚拟机方便(不…

VMware Workstation中桥接模式、NAT模式、仅主机模式

一、VMware虚拟机的网络模式 VMware工作站虚拟机有三种网络模式【①桥接模式 ②NAT模式 ③仅主机模式】,如下图所示: 二、VMware虚拟机的网络模式介绍 2.0、VMware的虚拟设备 VMware的虚拟设备 序号虚拟设备编号说明1VMnet0是虚拟桥接网络下的虚拟交换机2VMnet1是虚拟Host-…

vm虚拟机nat模式配置

痛点: 为了解决虚拟机与板子网络的调试的问题,我之前一直用桥接,如果虚拟机想上网就桥接到无线网卡,如果想连接板子,就桥接到有线网卡,麻烦,需要来回切换,还有就是不插板子的情况下和…

nat模式

原文链接:https://www.linuxidc.com/Linux/2016-09/135521p2.htm (复制过来只是为了学习方便,如有不妥会立即删除) 二、NAT(地址转换模式) 刚刚我们说到,如果你的网络ip资源紧缺,但…

虚拟机NAT模式无法联网

工作中遇到NAT模式虚拟机,修改了编辑-虚拟网络编辑器 中NAT设置IP,DNS,DHCP等配置,在centos8中修改了ens33文件都无法联网的情况,特此总结解决方案 按照该方法尝试后无效(解决方法在下面) 第一…

桥接模式NAT模式 详解

NAT模式 和 桥接模式 网络地址转换 NAT : 首先看一下NAT的概念:装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址,这样所有使用本地地址(内部专用地址)的主机在和外界通信时&#xff…

虚拟机NAT模式无法上网

虚拟机NAT模式无法上网 一、确认虚拟机的ip地址二、确认服务是否开启 一、确认虚拟机的ip地址 确认虚拟机的ip地址与本机的vmnet8的ip地址是否在同一个网段,且网关是否一致: cd /etc/sysconfig/network-scripts/ ls vi ifcfg-ens33如果ip配置都没有问…

【VMware】NAT模式、桥接模式、仅主机模式

VMware的NAT模式、桥接模式、仅主机模式 转载自:https://wxler.github.io/2021/02/02/221724/ 1. NAT模式 拓扑图: 在NAT网络中,会用到VMware Network AdepterVMnet8虚拟网卡。 VMware Network AdepterVMnet8是主机上的一块虚拟网卡&…

虚拟机NAT模式集群改为桥接模式集群

有时候,A 电脑要访问 B 电脑上安装的虚拟机,尴尬的是之前虚拟机配置的网络连接模式为 NAT 模式。 那怎么才能让 A 电脑正常地访问 B 电脑上的虚拟机呢?就需要将虚拟机的网络连接模式由 NAT 模式修改为 桥接模式 。 需要下面简单的几步就可以…

LVS NAT模式配置实践

1. LVS单网卡配置 注:实际应用中LVS使用双网卡,这里仅做演示用。架构图如下: 单网卡LVS 1.1 机器信息 LVS LVS:eth0 10.10.1.100(VIP) Real Server RS1:eth0 10.10.1.1RS2:eth…

虚拟机网络模式-NAT模式配置

1、打开VMware,点击编辑——》虚拟网络编辑器 2、配置NAT子网。 注意:不能配置和物理主机为同一网段的IP段 点击NAT设置。设置虚拟子网的网关 注意:正常是使用.1做为网关,如果出现网络不行,可以改成.2做网关 4、点击…

Linux下配置nat模式

(一)打开网络虚拟编辑器 点击更改设置,我们安装好VMware后,在网络连接处会出现两张虚拟网卡,分别是vmnet1和vmnet8,net模式需要配置vmnet8网卡。 接下来通过命令进入 cd /etc/sysconfig/network-scripts&am…

Vmware配置NAT模式

NAT模式注意事项 1.虚拟网卡要和虚拟机在一个网段内。 2.虚拟网卡的网关要和虚拟机网关相同。 3.虚拟机网卡的子网和物理主机不需要在同一个网段,物理主机网段一般为192.168.1.xx,建议虚拟机使用别的网段。 NAT模式使用的是VMnet8虚拟网卡配置 虚拟网络编辑器配置…

【虚拟机NAT模式及桥接模式配置】

VMware虚拟机网络配置 虚拟机常见的网络类型NAT(网络地址转换)Bridged(桥接模式)Host-Only(仅主机) 虚拟机网络配置配置为NAT模式配置为桥接模式 虚拟机常见的网络类型 Vmware 为我们提供了三种网络工作模…

centos 设置nat模式

1:将虚拟机的网络适配器设置为nat模式 2:在vm的编辑菜单中选中虚拟网络编辑器,选择更改设置,进去后选中VMnet8, 3:在虚拟机中进入/etc/sysconfig/network-scripts目录,修改ifcfg-eth33文件 4:宿…

NAT模式 桥接模式bridge原理理解

桥接场景 无论现在的各种容器,还是我们之前常用的虚拟机,为了与局域网内其他IP通讯通常需要用到『桥接』。 Bridge桥接方式 Bridge 将虚拟机桥接到host机器的网卡上,guest和host机器都通过bridge上网.对外不同的ip。 NAT 想要理解Bridge首先要理解NA…