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中数据量大的时候 ,无法显示出整个数据链,因此将默认选中的节点改为最顶部节点,并显示选中效果。

终极版:完美实现在PyQT5或Pyside2中构建无边框圆角阴影窗口,可拖动,阴影随窗口活动状态变化,窗口鼠标拖动改变大小(完美复用)

终极版(完美复用):完美实现在PyQT5或Pyside2中构建无边框圆角阴影窗口,可拖动,阴影随窗口活动状态变化,窗口鼠标拖动改变大小

文野海阳的博客 1668

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

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

slfkj的博客 1491

(完整版)从零开始教你玩转ComfyUI-保姆级部署教程-手把手带你ComfyUI工作流搭建

ComfyUI就像拥有一支神奇魔杖,可以轻松创造出令人惊叹的AI生成艺术。从本质上讲,ComfyUI是构建在Stable Diffusion之上的基于节点的图形用户界面(GUI),而Stable Diffusion是一种最先进的深度学习模型,可以根据文本描述生成图像。但ComfyUI真正特别之处在于,它如何让像你这样的艺术家释放创造力,将你最疯狂的想法变为现实。想象一下有一块数字画布,你可以通过连接不同的节点来构建自己独特的图像生成工作流,每个节点代表一个特定的功能或操作。

php源码 4万+

QTreeView/QTreeWidget自动显示滚筒条

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

aerbeisishan2008的博客 2342

wpf入门第五篇 WPF with ECharts

前言 本文是wpf入门系列第五篇,面向有winform或者web前端基础的、并且也有C#基础的同学。 ECharts是百度团队开发的开源免费的js图表控件库,非常强大,文档齐全。WPF中使用图表,除了可以选择devexpress或者oxyplot之类的专为wpf开发的图表控件之外,还可以考虑使用 WebBrowser+ECharts 来完成复杂的图表展示,其展示效果不亚于前者。 本文介绍了 WP...

wf824284257的博客 1万+

当R语言遇见MaxENT:参数优化的艺术与自动化调参实践

本文探讨了R语言与MaxENT在生态位建模中的结合应用,重点介绍了参数优化与自动化调参的实践方法。通过caret与ENMeval工具链,研究人员可以高效处理多物种、多环境变量的大规模分析任务,提升模型性能与工作效率。文章还涵盖了从数据准备到结果可视化的全流程,为生态学家提供了实用的技术指导。

corn8的博客 455

QTreeView冻结列

【代码】QTreeView冻结列。

qq_43913466的博客 241

Kotlin kapt插件报错全解析:从Could not load module到彻底解决(含Gradle 8.2.2适配指南)

本文深度解析了Kotlin开发中常见的kapt插件报错“Could not load module”的根源,并提供了从诊断到解决的完整方案。重点探讨了Gradle 8.2.2与Kotlin 1.9.x的兼容性问题,包括JVM IR后端冲突、配置缓存问题及依赖版本对齐,并给出了详细的调试技巧与迁移至KSP的建议。

rrr55的博客 315

PyQt5中设置QtreeWidget水平滚动条

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

zhangji 3508

汽车诊断之UDS入门-0x19 0x0A服务

0x19 0x0A解析

weixin_44842720的博客 3836

【异常】OpenAI提示内容有误 Invalid prompt: your prompt was flagged as potentially violating our usage policy.

用户需优先调整提示内容,确保符合OpenAI的使用政策。若问题持续,建议结合请求ID和具体代码示例联系官方支持。同时,可参考腾讯云、Microsoft Q&A等平台提供的错误处理实践(如重试机制、日志记录)优化代码健壮性。

奶爸的编程之路,也就一周冷个三天 2067

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

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

净无邪博客 6234

《QT+PCL 第一章》:点云读取显示

点云读取显示一、核心代码二、QT设置三、效果展示 一、核心代码 二、QT设置 三、效果展示

阁楼 1万+

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

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

biao2488890051的博客 1443

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

PyQt6 QTreeView树视图

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

java1234的博客 1991

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Qt QTreeView 常用属性及操作方法

QTreeView 常用属性以及使用方法

weixin_54018178的博客 2095

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

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、付费专栏及课程。

余额充值