Qt开发:Qt Widgets模块——QColumnView类

Qt控件----项目视图组(基于模型) 文章目录基于视图组(基于模型)一、QListView1. 控件简介2. 用法示例3. 运行效果二、QTreeView1. 控件简介2. 用法示例3. 运行效果三、QTableView1. 控件简介2. 用法示例3. 运行效果四、QColumnView1. 控件简介2. 用法示例3. 运行效果五、QUndoView1. 控件简介2. 用法示例3. 运行效果 基于视图组(基于模型) 上图需要注意的是,在低版本的 Qt,Column View 与 Undo View 是没有封装成可视控件形式在 Qt Creat 阅读详情

QColumnView类提供了一个列视图的模型/视图实现。

头文件:#include <QColumnView>

qmake:QT += widgets

继承:QAbstractItemView

QColumnView在许多QListView中显示一个模型,树中的每个层次结构都有一个模型。 这有时被称为级联列表。

QColumnView类是模型/视图类之一,是Qt的模型/视图框架的一部分。

QColumnView实现由QAbstractItemView类定义的接口,以允许其显示由QAbstractItemModel类派生的模型提供的数据。




一、属性

1、resizeGripsVisible : bool

该属性可以指定列表视图是否获取调整大小。

默认情况下,可见性设置为true。

访问函数;

bool resizeGripsVisible() const
void setResizeGripsVisible(bool visible)



二、成员函数

1、QColumnView::QColumnView(QWidget *parent = Q_NULLPTR)

使用父级构造一个列视图来表示模型的数据。 使用setModel()来设置模型。


2、QColumnView::~QColumnView()

销毁列视图。


3、QList<int> QColumnView::columnWidths() const

返回此视图中所有列的宽度列表。


4、[virtual protected] QAbstractItemView *QColumnView::createColumn(const QModelIndex &index)

当您选择一个项目重载此函数并返回一个小部件时,要为最终列使用自定义小部件。 索引是将被分配给视图的根索引。

返回新视图。 QColumnView将自动获取小部件的所有权。


5、[virtual protected] void QColumnView::currentChanged(const QModelIndex &current, const QModelIndex &previous)

从QAbstractItemView :: currentChanged()重新实现。


6、[virtual protected] int QColumnView::horizontalOffset() const

从QAbstractItemView :: horizontalOffset()重新实现。


7、[virtual] QModelIndex QColumnView::indexAt(const QPoint &point) const

从QAbstractItemView :: indexAt()重新实现。


8、[protected] void QColumnView::initializeColumn(QAbstractItemView *column) const

复制列视图的行为和选项,并将其应用于列,如iconSize(),textElideMode()和alternatingRowColors()。 这在重新实现createColumn()时很有用。

这个函数是在Qt 4.4中引入的。


9、[virtual protected] bool QColumnView::isIndexHidden(const QModelIndex &index) const

从QAbstractItemView :: isIndexHidden()重新实现。


10、[virtual protected] QModelIndex QColumnView::moveCursor(CursorAction cursorAction, Qt::KeyboardModifiers modifiers)

从QAbstractItemView :: moveCursor()重新实现。

向左移动应该转到父索引。如果没有子类,移动向右应该转到子索引或向下。


11、QWidget *QColumnView::previewWidget() const

返回预览小部件,如果没有则返回0。


12、[virtual protected] void QColumnView::resizeEvent(QResizeEvent *event)

从QWidget :: resizeEvent()重新实现。


13、[virtual protected] void QColumnView::rowsInserted(const QModelIndex &parent, int start, int end)

从QAbstractItemView :: rowsInserted()重新实现。


14、[virtual protected] void QColumnView::scrollContentsBy(int dx, int dy)

从QAbstractScrollArea :: scrollContentsBy()重新实现。


15、[virtual] void QColumnView::scrollTo(const QModelIndex &index, ScrollHint hint = EnsureVisible)

从QAbstractItemView :: scrollTo()重新实现。


16、[virtual] void QColumnView::selectAll()

从QAbstractItemView :: selectAll()重新实现。


17、void QColumnView::setColumnWidths(const QList<int> &list)

将列宽设置为列表中给出的值。 列表中的额外值将在创建列时保留和使用。

如果列表包含的值太少,则只有其余列的宽度不会被修改。


18、[virtual] void QColumnView::setModel(QAbstractItemModel *model)

从QAbstractItemView :: setModel()重新实现。


19、void QColumnView::setPreviewWidget(QWidget *widget)

设置预览小部件。

该小部件成为列视图的子项,并且在删除列区域或设置新小部件时将被销毁。


20、[virtual] void QColumnView::setRootIndex(const QModelIndex &index)

从QAbstractItemView :: setRootIndex()重新实现。


21、[virtual protected] void QColumnView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags command)

从QAbstractItemView :: setSelection()重新实现。


22、[virtual] void QColumnView::setSelectionModel(QItemSelectionModel *newSelectionModel)

从QAbstractItemView :: setSelectionModel()重新实现。


23、[virtual] QSize QColumnView::sizeHint() const

从QWidget :: sizeHint()重新实现。


24、[signal] void QColumnView::updatePreviewWidget(const QModelIndex &index)

当应该更新预览小部件以提供有关索引的丰富信息时,会发出此信号


25、[virtual protected] int QColumnView::verticalOffset() const

从QAbstractItemView :: verticalOffset()重新实现。


26、[virtual] QRect QColumnView::visualRect(const QModelIndex &index) const

从QAbstractItemView :: visualRect()重新实现。


27、[virtual protected] QRegion QColumnView::visualRegionForSelection(const QItemSelection &selection) const

从QAbstractItemView :: visualRegionForSelection()重新实现。

C++ Qt开发从入门到精通:跨平台GUI与嵌入式实战指南 Qt框架作为跨平台的C++ GUI开发工具,采用独特的信号槽机制实现松耦合通信,其模块化设计显著提升了代码可维护性。在嵌入式开发领域,Qt通过专门优化的Qt for Device Creation版本,能够高效运行在资源受限设备上。理解模型/视图架构和QML声明式语法是掌握现代Qt开发的关键,这些技术广泛应用于工业HMI、智能家居控制面板等场景。本文详细解析从环境搭建到高级优化的完整技术栈,特别针对嵌入式开发中的交叉编译、图形优化等核心问题提供实践方案,帮助开发者系统掌握这一强大的跨平台开发框架。 阅读详情

相关推荐

【QT开发】列视图QColumnView类详解及实战应用

QColumnView是Qt提供的一个功能强大且灵活的列视图类,通过本篇文章的学习,你应该对QColumnView有了全面的理解,能够在自己的项目中正确使用它。QColumnView在用户界面中帮助你更好地展示和管理层次结构的数据,实现交互式和响应式的数据展示,有助于创建用户友好和高效的文件系统浏览器、层次数据管理工具等应用场景。

科技改变人类,技术成就未来 1176

从新手小白入门Qt编程(Windows 10)

Qt是由Qt Company开发的主流跨平台C++图形用户界面应用程序开发框架。Qt是面向对象的框架、容易扩展,并且允许真正地组件编程,既可以开发GUI程序,也可用于控制台工具和服务器。其跨平台集成开发环境Qt Creator 全面支持Windows ,mac、Linux、iOS、Android、WP等。本课程主要帮助学员熟练掌握Qt 5.9框架下的C++开发,通过核心类的详细讲解与源码分析,以及所有UI控件的讲解演示,迅速帮助学员达到企业级Qt开发工程师的能力!

第十六章、Model/View开发:QColumnView的作用及对应Model

附件1、columnView.py # -*- coding: utf-8 -*- from PyQt5 import QtWidgets,QtGui from PyQt5.QtWidgets import QApplication import sys import columnWin class mainWin(QtWidgets.QWidget,columnWin.Ui_columnVi...

老猿Python 1797

模型视图(12):【类】QColumnView[官翻]

文章目录详述属性公共函数重新实现的公共函数信号受保护的函数重新实现的受保护的函数示例 QColumnView 类 QColumnView类提供了列的视图的模型/视图实现。 Header: #include < QColumnView > qmake: QT += widgets Inherits: QAbstractItemView Inherited By: 详述 QColumnView在许多QListViews中显示一个模型,每个QListViews对应树

读书笔记 1851

TSMaster实战:如何用LIN总线唤醒你的汽车电子系统(附波形分析)

本文通过TSMaster工具实战解析LIN总线唤醒机制。详细介绍了LIN网络唤醒的协议要求、时序参数计算,并演示了如何在TSMaster中配置唤醒信号、捕获分析波形,以及验证休眠流程。文章结合常见问题排查,为汽车电子工程师提供了从理论到实践的完整调试指南。

weixin_28308325的博客 460

ml307 二次开发

中移物联网旗下4g模组官方网站官方教程id=514官方客户不知道啥时候上班 早上10点也说不在服务时间内 找不到官方的sdk下载路径。

myWorld001的博客 2886

QColumnView讲解

讲解QColumnView属性、接口。源自Qt助手官方文档,以中文方式呈现,便于查看理解

qq_44720283的博客 1177

Stata中介效应分析实战:从sgmediation安装到Sobel检验结果解读

本文提供了Stata中进行中介效应分析的完整实战指南,重点介绍了第三方命令sgmediation的安装、配置与使用。通过详细案例演示了如何运用Sobel检验分析变量间的间接效应,并深入解读检验结果,帮助研究者厘清自变量影响因变量的具体路径。文章还探讨了Sobel检验的原理、优缺点及结果报告规范,是进行实证研究的实用参考。

weixin_29197051的博客 630

EIP-7951 深度解析:为以太坊引入 secp256r1 曲线验证预编译 P256VERIFY(0x100)

EIP-7951(Precompile for secp256r1 Curve Support)是 Ethereum Improvement Proposal 仓库中一条状态为 **Final** 的 Standards Track / Core 类提案,目标是在地址 `0x100` 部署名为 `P256VERIFY` 的预编译合约,以 `6900` gas 的成本完成 secp256r1(P-2

gitblog_01147的博客 288

Arduino+NRF24L01 无线遥控舵机与无刷电机系统搭建指南

本文详细介绍了使用Arduino和NRF24L01模块搭建无线遥控系统的完整指南,涵盖舵机和无刷电机的无线控制。从硬件选型、电路连接到代码编写与调试,提供了实用技巧和常见问题解决方案,帮助DIY爱好者低成本实现稳定可靠的无线遥控应用。

sre5engineer的博客 588

TASK02【datawhale组队学习】视觉感知与手眼协调,计算机视觉在机器人中应用,手眼标定算法实现,深度估计与3D重建

参考教程AI硬件与机器人技术教程:https://github.com/datawhalechina/ai-hardware-robotics视觉感知与手眼协调,计算机视觉在机器人中应用,手眼标定算法实现,深度估计与3D重建单目深度估计 (Monocular Depth Estimation)DPT 的全称是 Dense Prediction Transformer。

m0_52024881的博客 1191

【QT】3 - [QStyle] Qt常用组件属性说明

Widget 简单的中文翻译 How to Style QAbstractScrollArea 支持盒子模型,所有QAbstractScrollArea的派生类,包括QTextEdit、所有的列表类,支持可滚动背景background-attachment属性。 Supports the box model. All derivative

笨笨D幸福 - 后花园 5277

51单片机 驱动有源/无源蜂鸣器+Proteus仿真

51单片机 驱动有源/无源蜂鸣器+Proteus仿真 相关篇《51单片机 Proteus仿真有源蜂鸣器始终不响原因及解决方法》 电路搭建 采用NPN管驱动有源蜂鸣器电路 采用PNP管驱动有源蜂鸣器电路 采用PNP管驱动无源蜂鸣器 采用NPN管驱动无源蜂鸣器 Proteus元器件列表 实例代码 /************************************************************************************* * 实验现象:下载程序

perseverance51博客 2万+

Qt模型/视图架构实战:C++桌面应用数据与界面分离开发指南

在桌面应用开发中,数据与界面显示的分离是提升代码可维护性和性能的关键设计模式。Qt框架的模型/视图架构正是这一理念的经典实现,它通过定义清晰的职责边界,将数据管理、用户界面和渲染逻辑解耦。模型负责数据的存储与访问,视图负责数据的可视化呈现,而委托则定制单元格的渲染与编辑行为。这种架构的核心技术价值在于支持单一数据源、高效处理大规模数据,并允许灵活切换不同的视图表现。在实际工程实践中,它广泛应用于需要动态展示结构化数据的场景,如数据库管理系统、文件浏览器和实时监控面板。本文以构建一个联系人管理器为例,深入解析

weixin_33919950的博客 422

【Tiny_CD】Tiny_CD变化检测网络详解(含python代码)

tiny-cd网络详解,含论文下载、代码下载地址。

向上生长的程序媛的博客 2161

进阶01:Labview与OPC UA设备通信

LabVIEW通过OPC UA实现高效设备通信方案 本文介绍了使用LabVIEW与OPC UA设备通信的完整实施方案。OPC UA协议具有跨平台兼容、高安全性和高效数据交换等优势。实施步骤包括:1)安装NI OPC UA工具包;2)搭建模拟测试环境,使用OPC UA Simulation Server创建测试变量;3)编写LabVIEW程序,实现连接服务器、事件订阅、数据读写等功能。重点展示了通过用户事件实现设备主动触发的机制,当模拟变量值改变时自动触发LabVIEW事件处理。该方案验证了OPC UA在工业

weixin_38637405的博客 1402

深入C++与QT高频面试题(不定时更新)

本文总结了C++、数据库和Qt相关的常见面试题,涵盖以下核心内容: C++特性与智能指针 智能指针(unique_ptr/shared_ptr/weak_ptr)解决内存管理问题 构造函数/析构函数特性,虚函数与纯虚函数区别 STL容器分类与特性(vector/list/set/map等) 多线程编程 线程创建方式(Thread类/moveToThread) 线程同步机制(互斥锁/条件变量/读写锁) 进程间通信方式(管道/共享内存/消息队列) 数据库基础 事务ACID特性与操作流程 索引原理与使用场景 关系

阿博的博客 1255

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

实战PyQt5: 077-列状视图QColumnView

QColumnView简介 QColumnView类提供了Model-View框架中的列视图实现。 它在许多QListView中显示一个模型,可以看做是一个级联的列表视图。它是Qt模型-视图框架的组成部分。它实现了由QAbstractItemView类定义的接口,因此能够显示从QAbstractItemModel类派生出的模型所提供的数据。 QColumnView部件是一种类似树形视图的视图,树形视图的层次结构是纵向排列的,父节点在上,子节点在下,同时兄弟节点也是上下排列,而在QColumnView中这

seniorwizard的专栏 4573

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

QT基础知识(九)列表控件QColumnView

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前言 QColumnView是以模型/视图数据为基础的,以列为单位的列表控件,关于什么是模型/视图后续讲解,只是为了将数据与展示进行分开。 一、pandas是什么? 二、使用步骤 1.引入库 代码如下(示例): import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import warnin.

qq_34062754的博客 4494

QtC++与QColumnView详解

在 Qt 中,是用于显示多列数据的控件,它提供了一种多列列表视图的方式,类似于文件资源管理器中的详细视图。是基于模型/视图架构的,通常与或自定义模型一起使用。以下是关于。

LuXiaoXin1999的博客 1587

Qt编写ColumnView入门示例

创建QT的Widgets Application项目 在ui界面上添加一个Column View控件 修改mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h" #include <QStandardItemModel> MainWindow::MainWindow(QWidget *parent) ...

没刮胡子的程序员专栏 5737

qt QColumnView详解

QColumnView 是 Qt 框架中的一个类,它提供了一种基于列的视图布局,用于显示和管理一系列项目。与 QTreeView 或 QListView 不同,QColumnView 不是简单地以列表或树状结构显示项目,而是将它们组织成多个列,每列可以包含多个项目。这种布局方式非常适合于需要以网格形式展示数据的场景,如文件管理器中的图标视图或图像浏览器的缩略图视图。

ckg3824278的博客 1022

Qt之级联列表视图的理解和使用(QColumnView)

对QColumnView 的理解和使用,提供工程下载

linyibin_123的博客 1144

QT-QColumnView

目的 学习一下QT的控件,今天是ColumnView。QColumnView 是一个多列视图控件,每一列都可以包含多个项目。它继承自 QAbstractItemView,并支持多列项目的显示、拖放操作和编辑功能。 用示例代码运行后基本的样子就是下面这样的。运行的时候先显示Root Node ,点击后出现Child node1,然后点击继续出现后续的列 [注意] 这个控件已经被遗弃,不建议再使用。并推荐使用 QTreeView 或 QTableView 来代替 示例代码 Python import sy

m0_37722776的博客 904

「QT」数据视图类 之 QColumnView 列视图类

QColumnView是Qt框架中的一个类,提供了一种基于列的视图布局,用于显示和管理一系列项目。与QTreeView或QListView不同,QColumnView不是简单地以列表或树状结构显示项目,而是将它们组织成多个列,每列可以包含多个项目。这种布局方式非常适合于需要以网格形式展示数据的场景,如文件管理器中的图标视图或图像浏览器的缩略图视图。QColumnView的构造函数为,它使用父级构造一个列视图来表示模型的数据。在构造之后,需要使用setModel()来设置模型。: 设置用于提供数据的模型。

何曾参静谧的博客 1125

Qt模型视图框架:QColumnView

一、描述 QColumnView 在多个 QListViews 中显示一个树型模型中的每个层次结构一个。 这个视图的使用场景很有限,了解即可。 二、示例 QStandardItemModel *model = new QStandardItemModel; QStandardItem * gz = new QStandardItem("广州"); gz->appendRow(new QStandardItem("天河区")); gz->appendRo

友善啊,朋友的博客 2693
上一篇: Qt开发:Qt Widgets模块——QColormap类
下一篇: Qt开发:Qt Widgets模块——QComboBox类
一世豁然
博客等级 码龄15年 1276粉丝 146原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值