QTreeView 设置水平滚动条

QML实现一个TreeView 在Qt5中的QtQuick.Controls 2.x中没有TreeView这个控件,而只在QtQuick.Controls 1.x中拥有这个控件。因此当我们使用高版本的QtQuick.Controls时,无法使用TreeView,因此我们必须得想办法自己实现一个TreeView。实现TreeView的最容易想到的思路就是迭代使用ListView,ListView我们是可以使用的,而TreeView实际上就是ListView套ListView(套娃),因此灵活使用ListView就能制作一个TreeView。 阅读详情

默认QTreeView的滚动条设置是Qt::ScrollBarAsNeeded.也就是默认值。不修改的话是根据需要显示滚动条的。


我在QTreeView里面添加了item item里面有文本或者点击扩展按钮扩展tree的时候,结果水平方向没有滚动条,导致部分文本不可见。

问题其实处在Column的宽度上。ScrollBar是针对整个QTreeView的Widget,也就是所有column的宽度和而言的,而不是针对于个column当中文本的长度的。

当改变column当中文本的时候。由于column的宽度没有改变,因此不会出现scrollbar滚动条,而是将column所见的内容压缩了,因此需要手动设置column的宽度。

添加一个item之后或者点击扩展按钮的时候,需要调用resizeColumnToContents或者是直接setcolumnwidth。需要修改的地方有添加item的时候。展开或者折叠item的时候在对应的slot函数里面实现。


  1. void test::DevTreeClicked(const QModelIndex &index)  
  2. {  
  3.     ui.DevTreeView->resizeColumnToContents(0);  
  4. }  

  1. QObject::connect(TreeView,SIGNAL(clicked(const QModelIndex&)),this,SLOT(DevTreeClicked(const QModelIndex &)));  
  2. QObject::connect(TreeView,SIGNAL(collapsed(const QModelIndex&)),this,SLOT(DevTreeClicked(const QModelIndex &)));  
  3. QObject::connect(TreeView,SIGNAL(expanded(const QModelIndex&)),this,SLOT(DevTreeClicked(const QModelIndex &)));  

只要知道ScrollBar是针对于整个column而言。而不是针对content而言就好解决这个问题了
Qt QTreeWidget详解 Qt中实现树形结构可以使用QTreeWidget类,也可以使用QTreeView类,QTreeWidget继承自QTreeView类。 一、常用属性(可通过设计器直接设置) 函数 作用 header()->setVisible(false); 设置标题头是否显示 header()->setDefaultSectionSize(200); 设置标题头默认的尺寸 void setSortingEnabled(bool enable); 设置点击标题头排序 void set 阅读详情

相关推荐

QTreeView第一列自适应

通过setStretchLastSection(bool stretch)可以设置最后一列自适应,对于QTreeView,stretch默认为true。但有时候我们需要设置第一列自适应,比如文件浏览器,共有名称、大小和修改日期三列,大小和日期的宽度几乎是固定的,但名称却可长可短,此时我们希望在窗口大小变化时,第一列的宽度能自动缩放,第二列和第三列的宽度保存不变,而且要支持鼠标拖动调整列宽。

草上爬的博客 1954

QTreeView和scrollbar窗口自适应

默认QTreeView的滚动条设置是Qt::ScrollBarAsNeeded.也就是默认值。不修改的话是根据需要显示滚动条的。 我在QTreeView里面添加了item item里面有文本或者点击扩展按钮扩展tree的时候,结果水平方向没有滚动条,导致部分文本不可见。 问题其实处在Column的宽度上。ScrollBar是针对整个QTreeView的Widget,也就是所有colum

groundhappy的专栏 5283

QT QTreeView 电脑磁盘分支 以及style

QT QTreeView1 ui界面添加控件2 代码编辑3 选择分支4 效果 1 ui界面添加控件 2 代码编辑 /** * @brief MyDir::showTreeView * 展示TreeView */ void MyDir::showTreeView() { QModelIndex index; //QModelIndex类用于定位数据模型中的数据 model = new QDirModel; //模型 model-&g

光顶术士的博客 378

QTreeView不能按子项内容长度自动出现水平滚动条及滚动不理想问题解决

QTreeView不能按显示的内容自动出现水平滚动条及水平滚动不理想问题的解决

danshiming的博客 3292

treeview滚动条

主要解决了treeview中数据量大的时候 ,无法显示出整个数据链,因此将默认选中的节点改为最顶部节点,并显示选中效果。

Pluto SDR新手避坑指南:从环境配置到第一个MATLAB收发程序(附完整代码)

本文为Pluto SDR新手提供全面的避坑指南,从硬件连接到MATLAB环境配置,再到第一个信号收发程序的实现。详细介绍了驱动安装、常见问题排查以及关键参数设置,帮助用户快速上手软件定义无线电(SDR)技术,并附有完整代码示例。

weixin_33168937的博客 325

项目中遇到QTreeWidget实现的目录树,水平滚动条没有随着展开的内容真多而出现的问题

方法有两种: 方法一: m_leftTreeWidget->header()->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel); m_leftTreeWidget->header()->setSectionResizeMode(0, QHeaderView::Resiz...

slfkj的博客 1491

Linux运维人,该醒醒了,2019年要变天了

外界都说运维只是处于被动低效率手工救火的状态,企业对其重视程度不高,提起运维很多人能联想到的字眼就有“苦逼”、“辛苦”、“加班”、“背锅”。在大数据、人工智能、容器技术的强力加持下,运维这个传统的技术工种已经从“机械劳动”这样的刻板印象中蜕变出来,成为了任何一家技术公司所必须依赖和大力投入的核心技术能力。 现在,运维人员的发展前景也开始让很多程序员眼羡,作为Linux运维人员的你:这一年,你的L...

qq_43083284的博客 1万+

QTreeView/QTreeWidget自动显示滚筒条

默认QTreeView的滚动条设置是Qt::ScrollBarAsNeeded.也就是默认值。不修改的话是根据需要显示滚动条的。 我在QTreeView里面添加了item item里面有文本或者点击扩展按钮扩展tree的时候,结果水平方向没有滚动条,导致部分文本不可见。 问题其实处在Column的宽度上。ScrollBar是针对整个QTreeView的Widget,也就是所有column的宽度...

aerbeisishan2008的博客 2342

【飞控】PX4 Autopilots与MATLAB/Simulink联合仿真环境搭建全攻略

本文详细介绍了在Windows系统上搭建PX4 Autopilots与MATLAB/Simulink联合仿真环境的完整流程。通过WSL2安装Ubuntu,配置UAV Toolbox支持包,并重点解决了PX4源码克隆、子模块更新等网络难题,最终实现软件在环(SITL)仿真。文章还涵盖了硬件在环(HITL)配置及常见问题排查,为无人机飞控算法开发与测试提供了高效、可靠的解决方案。

weixin_29201933的博客 548

自动驾驶大模型---小鹏汽车VLA大模型

随着自动驾驶技术的进步,小鹏汽车正通过云端大模型蒸馏技术,将72B参数的VLA大模型轻量化后部署到车端,以提升自动驾驶系统的智能和安全性。这种技术路线不仅解决了“模态不统一”的问题,还通过强化学习增强了模型的表现。

智能汽车人的博客 2235

QTreeView冻结列

【代码】QTreeView冻结列。

qq_43913466的博客 241

GEE土地分类:一文读懂精度评定—混淆矩阵confusion matrix、整体精度OA、用户者精度、生产者精度、kappa系数和F1score系数含案例

本文介绍了如何在 Google Earth Engine (GEE) 中构建和分析混淆矩阵,以评估分类模型的性能。首先,通过 ee.Array 构建混淆矩阵,并展示了如何指定自定义类标签。接着,计算了多种性能指标,包括准确率、Kappa 值、F1-score、消费者准确率和生产者准确率。此外,还演示了如何计算不同类别的 F1-score。最后,通过一个实际案例,展示了如何利用 GEE 进行土地分类,并评估分类器的性能,包括训练和验证样本的准确率、Kappa 值等指标。这些步骤帮助用户理解模型的优缺点,并进行

此星光明博客 442

PyQt5中设置QtreeWidget水平滚动条

PyQt5中设置QtreeWidget水平滚动条 这个问题,困惑我好一段时间,网上找了很多资料,各种尝试都没解决,隐隐约约在一个论坛中一个作者提到一句话,才得到解决。问题描述如下: 开发过程中,有时候会去开发树形展示的界面,尤其文件管理系统时。由于pyqt5 单独python的文档比较少,大多是基于C++写的文档,所以大家在开发的时候,基本都是经验加摸着石头过河的方式在python中开发Qt界面...

zhangji 3508

基于深度学习的AI生成式人脸图像鉴别

AIGC(AI内容生成)技术的快速发展确实为创作者提供了高效生产力工具,但同时也引发了一些问题和挑战。这些技术可以生成以假乱真的图像、视频换脸等,给不法分子提供了滥用的机会。其中,一些不法分子可能利用AIGC技术制造虚假新闻、违反版权、绕过活体身份验证、散布谣言和诽谤他人、进行敲诈勒索等非法活动,以谋取不当利益。这些行为给社会造成了严重的负面影响,破坏了信息的真实性和可信度。因此,我们需要认识到AIGC技术的潜在风险,并采取相应的措施来应对。

mingo_敏 4494

C#跨平台制图新纪元:Mapsui,一库在手,地图我有

深入学习Mapsui的渲染机制,定制属于你的地图样式,无论是颜色、图标还是文字,都可以随心所欲。

java专栏 1455

QTreeView树形控件自动显示水平滚动条(resizeColumnToContents())

本文主要总结Qt中QTreeView树形控件自动显示水平滚动条内容。 在Qt中,是默认根据需要显示水平和垂直滚动条的。但是我们发现实践中只能自动显示垂直滚动条,而水平滚条无法自动显示,在显示窗口中多余的内容用省略号“...”代替。 进过查找资料,博主发现,之所以无法自动显示垂直滚动条,是因为树形控件的列宽度比跟显示的内容要宽,而自动显示水平滚动条是内容超出列宽度才会出现。 1.1核心函数讲解...

净无邪博客 6234

YOLOv11魔改高效涨点 | 注意力篇 | SimAM注意力:基于神经科学的 3D 注意力机制,三维权重的暴力美学,无参数也能暴力涨点?代码极简,彻底疯狂!!!

在本文中,我们为卷积神经网络(ConvNets)提出了一个概念简单但非常有效的注意力模块。与现有的通道注意力(Channel-wise)和空间注意力(Spatial-wise)模块不同,我们的模块在不向原始网络添加参数的情况下,推断出层中特征图的 3D 注意力权重。具体来说,我们基于一些知名的神经科学理论,提出优化一个能量函数来寻找每个神经元的重要性。我们进一步推导出了该能量函数的快速闭式解,并表明该解可以用不到十行代码实现。

猫天意的博客 248

qtreeview控件水平滚动条自动出现方法与避坑

这是在heap内存监视模式下,调试出来的教训,一定要注意这个问题(如果直接调试模式,程序可能不会崩,但是监视内存,也能看出来item所在内存被全部刷为0Xddddddd...了,而heap内存监视模式下是全部刷为0x0000...的,所以程序一运行到那儿就会自动断住了,才能发现问题)。,expandAll函数的时候,就不让那个槽函数执行,而是最后调一下 ui->treeView->resizeColumnToContents(0);比较好的做法是,自己。

biao2488890051的博客 1443

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

PyQt6 QTreeView树视图

QTreeView类,它是树控件的基类,使用时,必须为其提供一个模型来与之配合。拖放操作期间打开树中项目之前的延迟时间。是否显示用于展开和折叠顶级项目的控件。项目是否应使用所有列显示键盘焦点。所有项目是否具有相同的高度。所选项目的部分是否突出显示。是否可以通过双击扩展项目。是否可调节最后一列的宽度。项目是否可由用户展开。标题列宽联动调整大小。标题可调节的最小尺寸。

java1234的博客 1991

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Qt QTreeView 常用属性及操作方法

QTreeView 常用属性以及使用方法

weixin_54018178的博客 2095

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

QTableView、QTreeView和QListView各自的区别

您可以根据数据的结构和需求选择适合的视图组件来展示数据,以提供更好的用户体验和功能。QTableView、QTreeView和QListView是Qt框架中用于显示数据的三种不同的视图组件。QTreeView是一个树形视图,用于显示层次结构的数据,类似于文件资源管理器的目录结构。QListView是一个列表视图,用于显示一维的列表数据,类似于文件列表或邮件列表。适用于需要显示和编辑具有规则结构的表格数据的场景,例如数据库查询结果、电子表格等。适用于需要显示一维的简单列表数据,例如联系人列表、文件列表等。

电脑管家 1711

ScrollViewe滚动区域中TreeView的鼠标滑轮事件及水平滚动条不显示

水平滚动条不显示 //水平滚动条不显示 <ScrollViewer HorizontalScrollBarVisibility="Disabled " Name="scrol" Height="545" Width="220"> <TreeView ScrollViewer.HorizontalScrollBarVisibility="Disabled" Name="t...

皮卡丘丘丘~~~ 1067

向QAbstractItemView子类如:QTreeView、QTableView等子项单元格插入窗体小部件的功能实现(第3种方法)

向QAbstractItemView子类如:QTreeView、QTableView等子项单元格插入窗体小部件的功能实现(第3种方法)

danshiming的博客 1543

QT笔记- 如何判断窗口小部件是否自动出现(或隐藏)了滑条?

如果使用的小部件是派生自类QAbstractScrollArea的,比如QTreeView,则在窗口内容过多或窗口宽高过小时,窗口或小部件边缘会自动出现水平或垂直滑条,过大时滑条会自动消失,那么在编程中我们如何知道此刻是否出现了滑条?有什么函数来提示吗?以下函数可以解决这个问题: this->horizontalScrollBar()->isVisible(); 可在QAbstractScrollArea的任意派生类中调用它! ...

qq_43058397的博客 849

向QTableView、QTreeView单元格插入窗体小部件的功能实现

向QTableView单元格插入窗体小部件的功能实现

danshiming的博客 5414
上一篇: gtest安装与使用示例
下一篇: QTime成员函数的用法
Maybe______
博客等级 码龄10年 26粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值