QT笔记-TreeWidget控件使用

2023-10-27

1、添加控件时,默认有1行,并且值为1,如何去掉。隐藏头即可去掉

 方法1:

方法2:

ui.treeWidget->setHeaderHidden(true);

 2、控件使用
1、添加控件

 

//.h
private:
void OnInitTreeView();//初始化QTreeWidget控件
private slots:
	void treeItemChanged(QTreeWidgetItem* item, int column);
	void treeItemClicked(QTreeWidgetItem* item, int column);

//.cpp
//多选框改变时响应
connect(ui.treeWidget, SIGNAL(itemChanged(QTreeWidgetItem*, int)), this, SLOT(treeItemChanged(QTreeWidgetItem*, int)));
//点击时响应
connect(ui.treeWidget, SIGNAL(itemClicked(QTreeWidgetItem*, int)), this, SLOT(treeItemClicked(QTreeWidgetItem*, int)));

void Textdemo::OnInitTreeView()
{
	//ui.treeWidget->setColumnCount(1);//设置列数
	//ui.treeWidget->columnCount();//获取列

	QTreeWidgetItem* group1 = new QTreeWidgetItem(ui.treeWidget);
	group1->setText(0, "group1");
	group1->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
	//设置复选框     参数1 复选框的位置 列序号    Qt::Unchecked   没选中 Qt::Checked    选中   Qt::PartiallyChecked   部分选中
	group1->setCheckState(0, Qt::Unchecked);

	QTreeWidgetItem* subItem11 = new QTreeWidgetItem(group1);
	subItem11->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
	subItem11->setText(0, "subItem11");
	//设置复选框     参数1 复选框的位置 列序号    Qt::Unchecked   没选中 Qt::Checked    选中   Qt::PartiallyChecked   部分选中
	subItem11->setCheckState(0, Qt::Unchecked);

	QTreeWidgetItem* subItem12 = new QTreeWidgetItem(group1);
	subItem12->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
	subItem12->setText(0, "subItem12");
	//设置复选框     参数1 复选框的位置 列序号    Qt::Unchecked   没选中 Qt::Checked    选中   Qt::PartiallyChecked   部分选中
	subItem12->setCheckState(0, Qt::Unchecked);
	ui.treeWidget->expandItem(group1);//展开节点

	QTreeWidgetItem* group2 = new QTreeWidgetItem(ui.treeWidget);
	group2->setText(0, "group2");
	group2->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
	//设置复选框     参数1 复选框的位置 列序号    Qt::Unchecked   没选中 Qt::Checked    选中   Qt::PartiallyChecked   部分选中
	group2->setCheckState(0, Qt::Unchecked);

	QTreeWidgetItem* subItem1 = new QTreeWidgetItem(group2);
	subItem1->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
	subItem1->setText(0, "subItem21");
	//设置复选框     参数1 复选框的位置 列序号    Qt::Unchecked   没选中 Qt::Checked    选中   Qt::PartiallyChecked   部分选中
	subItem1->setCheckState(0, Qt::Unchecked);

	QTreeWidgetItem* subItem2 = new QTreeWidgetItem(group2);
	subItem2->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
	subItem2->setText(0, "subItem22");
	//设置复选框     参数1 复选框的位置 列序号    Qt::Unchecked   没选中 Qt::Checked    选中   Qt::PartiallyChecked   部分选中
	subItem2->setCheckState(0, Qt::Unchecked);
}


void Textdemo::treeItemChanged(QTreeWidgetItem* item, int column)
{
	QString strt = item->text(column);
}

void Textdemo::treeItemClicked(QTreeWidgetItem* item, int column)
{
	QString strt = item->text(column);
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QT笔记-TreeWidget控件使用 的相关文章

  • 在Qt中,如何正确实现委托?

    我遵循模型 视图 控制器范例 我很确定模型和视图是正确的 但我认为我的代表做错了一些事情 一切都 有效 除了第一次单击控件只是 点亮控件 而第二次单击与之交互之外 这是代表通常的实施方式吗 我的实现需要大量的构造和销毁 由scoped pt
  • MSVC C4100:“应用程序”:未引用的形式参数警告

    使用 MSVC 编译时 以下代码会生成 C4100 警告 这怎么可能 显然引用了 应用程序 class ApplicationInfo public QObject Q OBJECT public static void initializ
  • 为什么anchors.centerIn不适用于Column元素?

    我有这段 QML 代码 Column spacing units gu 2 anchors fill parent centerIn parent Row spacing units gu 4 Row spacing units gu 4
  • 在信号/槽处理期间删除 QObject

    我知道从槽处理中删除 QObject 可能会使应用程序崩溃 因为它可能有其他排队的事件 因此 我将使用 obj gt deleteLater 而不是使用 delete obj 据我所知 obj 等待处理所有排队的事件 然后 删除 obj Q
  • 在 QML 中控制纹理 3D 对象的不透明度

    我对 QML 中的 Qt 3D 有点陌生 我正在尝试控制 Qt 3D 的不透明度textured3D 对象 我正在使用简单qml3d https github com tripolskypetr simpleqml3d测试项目来做到这一点
  • Qt:关闭期间线程仍在运行时 qthread 被销毁

    我有一堂课 class centralDataPool public QObject Q OBJECT public centralDataPool QObject parent 0 centralDataPool commMonitor
  • Qt QML MenuItem iconSource不显示

    我有一个非常简单的设置只是为了说明问题 import QtQuick Controls 1 4 import QtQuick Window 2 2 ApplicationWindow visible true width 640 heigh
  • 在 Windows 上静默安装 Qt55 Enterprise

    编辑 在 Qt 支持的帮助下 我已经解决了如何自动化 Qt 企业安装程序的这两个部分 下面是脚本调用 我正在尝试在 Windows 8 1 和 Windows 10 上静默安装 Qt 5 5 1 Enterprise 使用 script 开
  • 在 Qt 中创建/写入新文件

    我正在尝试写入文件 如果该文件不存在 则创建它 我在互联网上搜索过 但没有任何效果 我的代码目前看起来像这样 QString filename Data txt QFile file filename if file open QIODev
  • 如何使用样式表删除 QWizard 中的水平线?

    我正在研究一个样式表QWizard我想删除按钮上方的水平线 我已经发布了一个最小的例子here https stackoverflow com q 52538669 8570451 这个问题是由scopchanov从最小的例子中解决的 但是
  • 使用样式表时的 QTabWidget tabPosition

    我目前正在使用样式表来设计应用程序的主题 这是我用于 QTabWidget 的样式表 QTabBar et QTabWidget QTabBar tab background qlineargradient spread pad x1 0
  • Qt:关闭模式对话框关闭程序

    在我的 Qt 程序中 我有 2 个窗口 主窗口和子窗口 在程序中 一次仅显示这些窗口之一 主窗口有一个插槽 用于创建模式对话框 现在 假设子窗口中单击按钮的信号被发送到该插槽 在这种情况下 主窗口隐藏 子窗口可见 对话框显示得很好 但是当对
  • QStandardItemModel::removeRows() 在我的用例中不起作用

    基本上我想删除模型中的所有行 我更喜欢使用removeRows 代替clear 因为我想保留我的标题 我想我错过了一些东西 文档在这里 http doc qt nokia com 4 7 snapshot qstandarditemmode
  • QTableView 选择已更改

    我有一个QTableView我需要从中获取选择更改事件 我似乎无法让连接工作 我有 MyWidget h protected slots void slotLoadTransaction const QItemSelection selec
  • C++:头文件中全局函数的多重定义错误

    该函数是全局的 在头文件中定义 暂时地我想把它留在那里 头文件还构成一个具有内联函数的特定类 其中一个函数调用this全局函数 源文件不包含任何有问题的全局函数 有关错误原因的任何提示吗 如果有人感兴趣的话我可以发布代码 mainwindo
  • 如何搭建qtwayland?

    我花了一整天的时间尝试使用QtWayland Compositor 1 0在 Qt 创建者中 我已经遵循了从那里开始的所有步骤https wiki qt io QtWayland https wiki qt io QtWayland但我收到
  • QGraphicsScene没有删除QWidget的功能

    QGraphicsScene 有一个addWidget QWidget 有函数 但是没有对应的removeWidget QWidget 它只有removeItem QGraphicsItem 如何删除 QWidget 这是一个基本示例 看看
  • QPainter 性能高帧率

    我试图在 QPainter 中以 60fps 的速度显示视频 在 OpenGLwidget 中 我遇到一个问题 有时绘图花费的时间太长 并且在使用 QPainter 时发生下一个重绘事件 这会生成警告和随机崩溃 有几个问题 是否有一种 Qt
  • 如何在qt中进行异步文件io?

    我想知道如何在qt中实现异步文件io 这在普通的 qt 中是否可以实现 或者有人需要使用另一个库 例如 libuv 来实现这样的事情 我正在查看 QDataStream 但即使它是一个 流 它也不是非阻塞的 我想一种解决方案是制作一个在内部
  • 无法在 QGLWidget 中设置所需的 OpenGL 版本

    我正在尝试在 Qt 4 8 2 中使用 QGLWidget 我注意到 QGLWidget 创建的默认上下文不显示 OpenGL 3 1 以上的任何输出 Qt wiki 有一个教程 http qt project org wiki How t

随机推荐

  • 算法学习笔记:labuladong--滑动窗口

    算法技巧的思路非常简单 就是维护一个窗口 不断滑动 然后更新答案 int left 0 right 0 while right lt s size 增大窗口 window add s right right while window nee
  • Python中 sys.argv[]的用法简明解释

    因为是看书自学的python 开始后不久就遇到了这个引入的模块函数 且一直在IDLE上编辑了后运行 试图从结果发现它的用途 然而结果一直都是没结果 也在网上查了许多 但发现这个问题的比较详细的解释只有一个版本 大部分都是转载和复制的 给的都
  • 大数据入门学习

    https www cnblogs com xing901022 p 6195422 html
  • redis之list基本操作

    我们存多个数据用hash的时候它是没有顺序的 我们平时操作 实际上数据很多情况下都是有顺序的 那有没有一种能够用来存储带有顺序的这种数据模型呢 list就专门来干这事儿 一 list类型 数据存储需求 存储多个数据 并对数据进入存储空间的顺
  • 常用的两个免费可以商用的cc0协议图片网站

    什么是CC0协议CC0是CC协议 知识共享 是Creative Commons在中国大陆地区的通用译名 一般简称为CC CC既是该国际组织的名称缩写 也是一种版权授权协议的统称 以外的一种新的版权声明协议 采用该协议即代表作者宣布放弃该创作
  • ROS Noetic版本 rosdep找不到命令 不能使用的解决方法

    使用rosdep指令来安装开源包所需的依赖是很方便的 本文主要介绍ROS Noetic版本中使用rosdep 报错找不到命令 rosdep不能使用的解决方法 rosdep 找不到命令 Command rosdep not found but
  • nginx 中文url rewrite 404

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 原料 nginx with debug或openresty 背景 项目中有用户图片库需求 允许用户自定义文件夹 然后上传图片到该文件夹 当用户自定义的文件夹为中文或者访问u
  • 微信第三方平台之代开发小程序(二)

    第二部分 快速创建小程序 必须全网发布成功 注 第一部分 全网发布前的准备 请看我前面的文章 1 权限集准备 全网发布成功后才可生效 2 第三方收集法人微信 法人姓名 企业名称 信用代码四个商户信息外加第三方客服电话 3 企业名称需与工商部
  • 【python教程入门学习】Python教程第1篇:下载和安装Python

    Python是当下流行的通用编程语言 简单易学 容易上手 且 钱 景广阔 在网络爬虫 数据挖掘分析 人工智能 运营运维 日常工作效率提升 无不有Python的影子 因此 今天跟大家分享Python的下载和安装教程 第一步 下载Python最
  • 域名服务详解(域名解析流程和分类)

    一 基本概念 访问互联网是依靠IP地址的 但IP地址多种多样 很难记忆 所以使用域名服务 代替IP地址输入 1 hosts文件 1 位置 Windows系统在C Windows System32 drivers etc hosts 需要超级
  • usdt充值btc网络(非节点钱包地址)

    1 此充值具有一定的交易风险 请一定做好判断 步骤 用户绑定其他交易所的地址 往平台充值 只能使用用户绑定的钱包地址充值 否则无法确认充值成功 用户先填写充值金额 gt 生成充值订单 gt 通过平台设置的收币钱包地址充值 gt 填写充值产生
  • ReactNative组件生命周期

    组件生命周期详解 组件生命周期基础知识 组件 又名控件 是一段独立可复用的代码 在React Native应用开发中 组件是页面最基本的组成部分 和React的组件一样 RN的组件也有自己的生命周期 在RN应用开发中 组件的生命周期指组件初
  • jvm知识梳理

    1 java虚拟机的组成 java虚拟机主要由四部分组成 1 ClassLoader 按特定格式加载class文件到内存中 2 runtime data area jvm内存空间模型 3 execution engine 命令解析器 4 n
  • layui上传如何带参数到后台

    https www jacksonlhj cn articles 2022 03 18 1647584610237 html
  • 【C语言学习日记】 两个整数做简单加减乘除运算

    include
  • C++中访问类的私有数据成员的第三种方法

    我们知道 C 的类是有封装性的 那么对于私有数据成员我们如果想在类外访问 一般而言无外乎这么两种方法 1 通过公有的成员函数2 通过友元这是两种通常的做法 还有一种是比较 反常 的 但是同样也可以达到这样的目的 那就是通过类的基地址偏移来访
  • 相机型号总结

    相机型号 价格 一 富士 二 奥林巴斯 三 索尼 四 佳能 五 尼康 六 理光 价格 一 富士 1 GFX系列 富士最高端的机器 像素5000w 价格3w 7w 2 X系列 主流的富士相机 XH 防抖功能 XT X Pro X E XA 平
  • 工业互联网平台创新发展白皮书 附下载地址

    工业互联网平台创新发展白皮书 2018 是在工业和信息化部信息化和软件服务业司的指导下 由国家工业信息安全发展研究中心 两化融合服务联盟 产业互联网发展联盟开展调研 搜集 分析了62个平台 229个工业企业应用案例组织编写而成 从总体 行业
  • 03:TIM定时器

    目录 一 TIM 1 介绍 2 定时器的分类 3 基本定时器 4 通用定时器 5 高级定时器 6 定时器的基本结构 二 定时中断功能 A 定时器定时器中断 1 连接图 编辑 2 步骤 3 函数介绍 4 代码 三 外部时钟功能 A 定时器外部
  • QT笔记-TreeWidget控件使用

    1 添加控件时 默认有1行 并且值为1 如何去掉 隐藏头即可去掉 方法1 方法2 ui treeWidget gt setHeaderHidden true 2 控件使用 1 添加控件 h private void OnInitTreeVi