创建QTreeWidget组件

Qt QTreeWidget(树形控件)的用法 Qt QTreeWidget 新建一个Qt Widgets Application,拖拽一个Tree Widget 到 ui 界面上,最后实现的效果如下: 添加代码 //test.h //在头文件里添加两个公用函数还有一个槽函数的声明 #include public: void initTreeWidget(); void updateParentItem(QTreeWidge 阅读详情
#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
#include<QTreeWidgetItem>

namespace Ui {
class Dialog;
}

class Dialog : public QDialog
{
    Q_OBJECT
    
public:
    explicit Dialog(QWidget *parent = 0);
    ~Dialog();
    
private slots:
    void on_pushButton_clicked();

private:
    Ui::Dialog *ui;

private:
    void addRoot(QString name);
    void add_Child(QTreeWidgetItem* parent, QString name);
};

#endif // DIALOG_H


//实现
#include "dialog.h"
#include "ui_dialog.h"
#include<QFont>
#include<QMessageBox>
Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);
    //创建三个顶级目录
    addRoot("Root Level One");
    addRoot("Root Level Two");
    addRoot("Root Level Three");
}
Dialog::~Dialog()
{
    delete ui;
}
void Dialog:: addRoot(QString name)
{
    QTreeWidgetItem *itm = new QTreeWidgetItem(ui->treeWidget);//传递父对象
    itm->setText(0,name);
    QFont serifFont("Times", 10, QFont::Bold);
    itm->setFont(0, serifFont);
    itm->setWhatsThis(0, "Root Level Tree");
    ui->treeWidget->addTopLevelItem(itm);//把item添加为顶层
    //添加6个child组件
    add_Child(itm, "One Level");
    add_Child(itm, "Two Level");
    add_Child(itm, "Three Level");
    add_Child(itm, "Four Level");
    add_Child(itm, "Five Level");
    add_Child(itm, "Six Level");
}
void Dialog:: add_Child(QTreeWidgetItem* parent, QString name)
{
    //创建组件
    QTreeWidgetItem *itm = new QTreeWidgetItem();
    itm->setText(0,name);
    
    //设置字体
    QFont childFont;
    childFont.setWeight(QFont::Black);
    childFont.setStyle(QFont::StyleOblique);
    childFont.setUnderline(true);
    itm->setFont(0, childFont);
    itm->setBackgroundColor(0,Qt::gray);
    itm->setTextColor(0,Qt::red);
    //把上面定义好的组件以child的形式添加到顶级组件中
    parent->addChild(itm);
}

void Dialog::on_pushButton_clicked()
{
 	
    ui->treeWidget->currentItem()->setBackgroundColor(0, Qt::cyan);
}

//测试

#include <QtGui/QApplication>
#include "dialog.h"
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Dialog w;
    w.show();
    
    return a.exec();
}

//结果




        
QT 树型控件学习笔记 QTreeWidget QTreeWidget 这个树型控件基础的用法其实就那几个,主要是构造一个QTreeWigetItem 的指针对象,通过对这个指针对象的使用来操作这个树型控件,QTreeWidget 使用它的addTopLevelItem()函数将这个QTreeWigetItem指针对象插入进去,这个是插入根节点,可以通过QTreeWigetItem指针对象的addChild()函数,添加孩子节点,孩子节点的类型 阅读详情

相关推荐

QT的树形结构控件-QTreeWidget

QTreeWidget是Qt中用于显示树形结构的控件,可以显示多列数据和树形结构的层次关系,Q同时QTreeWidget还提供一些用户可操作的交互功能,如用户可编辑树节点的文本,可以调整顺序,展开或收起节点等等操作,功能非常强大。

qq_52137592的博客 1092

关于QListWidget自定义Item的学习

直接上代码, QListWidget *listWidget = new QListWidget; QWidget *widget = new QWidget; QListWidgetItem *item = new QListWidgetItem(listWidget ); listWidget-&gt;addItem(nit...

xi__q的专栏 9479

python pyqt5 使用QTreeWidget 和 xml模块 将 xml文件信息 自动读入并展示到树形控件上的示例程序

本压缩包包含一个xml样例文件和一个python原程序,实现了python 解析xml树形信息后,自动填充到 QTreeWidget 的每一个 QTreeWidgetItem 上,从而不用QtreeView的model模型,自动适应自定义树(Tree)形结构信息的方法。 程序文件主要包括两部分功能:一是使用python自带的xml.etree.ElementTree类读入和解析xml树形信息文件;二是使用 PyQt5 的 QTreeWidget 构建树,并将信息展示到Tree 的对应节点Item上。 初次接触xml和QTreeWidget的用户,可以结合我前面的文章,一起学习揣摩,从而达到灵活使用的目的。

QTreeWidget中添加QTreeWidgetItem

记录一下QTreeWidget和QTreeWidgetItem在Qt中的应用,示例如下图所示 首先需要建立QTreeWidget对象 QHBoxLayout *hLayout = new QHBoxLayout(); QTreeWidget *CameraTree = new QTreeWidget(this); CameraTree->setColumnCount(2);//设置...

草帽小子的博客 1万+

QTreeWidget应用Demo

QTreeWidget示例程序,内含QTreeWidget树状图搭建,右键点击显示菜单等操作

QTreeWidget读写Xml功能

QTreeWidget实例,读写Xml功能、可拖动、编辑,创建、删除项等

python + pyqt5 QTreeWidget 实现文件资源管理

这是VSCode的文件资源管理或者叫资源文件导航,这是一个树形结构的,我们使用QTreeWidget来实现一下,最终的结果如下: 我先把代码贴出来,UI界面的编程,不可能把每一行代码都讲清楚,我只讲一些思路和需要注意的细节吧: 第一个文件(fileopen.py),UI设计的文件,是QT Designer设计好的ui文件直接转换为的Python文件: # -*- codi...

BTboay 8562

QTreeWidget详细设置

QTreeWidget详细设置

QT 之QTreeWidget实现好友列表

QT 之QTreeWidget实现好友列表QT 之QTreeWidget实现好友列表 插叙 效果图 UI设计 上代码 下代码 结尾 插叙 在上期Demo中,我们的界面似乎有些开始成型了,那么今天我们一起来看看QQ中的好友列表,我们利用QT又该如何实现呢? 效果图UI设计 在这这前,我们需要先把我们的UI界面设计好,一个好友是一个Item,所以,首先我们需要先设计一个Item的Widget,在

项目开发/项目维护/项目指导 9800

ADS使用Smith圆图进行阻抗匹配

在处理RF系统的实际应用问题时,总会遇到一些非常困难的工作,对各部分级联电路的不同阻抗进行匹配就是其中之一。一般情况下,需要进行匹配的电路包括天线与低噪声放大器(LNA)之间的匹配、功率放大器输出(RFOUT)与天线之间的匹配、LNA/VCO输出与混频器输入之间的匹配。匹配的目的是为了保证信号或能量有效地从“信号源”传送到“负载”。 阻抗匹配(impedance matching) 信号源内阻与所接传输线的特性阻抗大小相等且相位相同,或传输线的特性阻抗与所接负载阻抗的大小相等且相位相同,分别称为传输线的输

红茶绿茶和奶茶的博客 3万+

集群路径规划实战(一)之EGO-swarm环境搭建与调试

本文详细介绍了EGO-swarm分布式无人机集群运动规划系统的仿真环境搭建与调试全流程。内容涵盖ROS Melodic安装、代码获取、依赖库配置、编译问题解决(如multi_map_server头文件缺失)以及最终通过roslaunch启动集群仿真与Rviz可视化,为学习和研究集群路径规划算法提供了可运行的实战平台。

weixin_29243279的博客 250

Pyqt5 QTreeWidget使用

在使用pyqt5编写UI时,QTreeWidget对象可以提供预定义模型的树形视图显示。QT文档对QTreeWidget定义如下:The QTreeWidget class is a convenience class that provides a standard tree widget with a classic item-based interface similar to that u...

weixin_42052836的博客 1万+

VSCode+Pyside6开发环境配置全攻略:从安装到实战UI设计

本文提供了一份详细的VSCode与Pyside6集成开发环境配置指南。从创建Python虚拟环境、安装必备VSCode插件,到深度配置PYQT Integration插件以打通Qt Designer与代码编译,最后通过一个待办事项应用实战演示了从UI设计到业务逻辑绑定的完整工作流,旨在帮助开发者建立高效、可维护的GUI开发环境。

qq_27496129的博客 980

PyQt学习笔记(11)--QTreeWidget

QTreeWidget的继承关系如下图:    因为继承关系是 QAbstractItemView->QTreeView->QTreeWidget  ,所以和QTableWidget很多地方是类似的。    如果需要特定的模式,如显示硬盘信息及内部文件的 dir模式等,都需要用QTreeView,而不是用 QTreeWidget。和 QTableWidget类似,一般步骤是先创建一个

loster_Li的博客 1万+

AI Agent开发第85课-DeepSeek-OCR 安装全指南:从 Transformers 到 vLLM,手把手教你跑通企业级 OCR

本文系统讲解 DeepSeek-OCR 的两种部署方式——基于 Hugging Face Transformers 的标准推理与基于 vLLM 的高性能加速推理。详细说明 CUDA 与 PyTorch 版本匹配、环境验证、依赖安装等关键细节,并提供可直接运行的完整代码示例。无论你是单卡调试还是高并发服务部署,都能在这里找到清晰路径。

打造全国最全的AI Agent开发知识领域的博客 2542

pytest学习和使用19-pytest断言失败后,怎样保持后续的断言继续执行?(pytest-assume)

【代码】pytest学习和使用19-pytes断言失败后,怎样保持后续的断言继续执行?

虫无涯的博客 1390

让QTreeWidget中的项目有复选框

QTreeWidget *legendView = new QTreeWidget(legend); //创建一个QTreeWidget对象     legend->setWidget(legendView); //将该对象设为以前创建的停靠窗口legend的部件     legendView->setSortingEnabled(false); //不自动排序     legendView

静故了群动 9512

Python之ae-toolbox包语法、参数和实际应用案例

ae-toolbox(全称 after-effects-toolbox)是 Python 生态中专门用于 Adobe After Effects(AE)自动化操作 的工具包,基于 AE 的 ExtendScript(JSX)桥接技术,实现 Python 与 AE 的跨语言通信。

王国平的博客 1174

Qt QTreeWidget和QDockWidget用法完全攻略(实例分析)

本节介绍QTreeWidget、QDockWidget的使用,以及用 QLabel 显示图片的方法。实例 samp4_8 QTreeWidget 以 QTreeWidget 为主要组件,创建一个照片管理器,实例运行时的界面如图 1 所示。 这个实例主要演示如下几个组件的使用方法。 QTreeWidget 目录树组件:QTreeWidget 类是创建和管理目录树结构的类。实例使用一个 QTreeWidget 组件管理照片目录,可以添加、删除节点,每个节点设置一个自定义类型,另外,还设置了一个自定义数据,图片节

Andy_Lee1的博客 2502

在 SAP S/4HANA 的 BP 事务里做保存前校验:BDT 事件、BUPA_FURTHER_CHECKS 与 CVI 扩展 BAdI 一次讲透

SAP BP事务保存前校验机制解析 摘要:本文系统梳理了SAP BP事务保存前的校验机制,揭示了三种关键校验点的差异与适用场景: BDT框架DCHCK事件:最靠近UI层,适合屏幕字段级校验,但API调用时可能失效 Classic BAdI BUPA_FURTHER_CHECKS:全局拦截点,可阻断整个BP保存,适合核心业务规则 CVI扩展校验:仅管控供应商/客户段落,需注意可能产生"BP已保存但段落未保存"的情况 文章通过真实案例(如黑名单校验、付款冻结等)展示了各校验点的最佳实践,并特

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 310

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的远距离停车位检测系统(深度学习代码+UI界面+训练数据集)

本文详细介绍了基于YOLOv5/YOLOv6/YOLOv7/YOLOv8深度学习模型的远距离停车位检测系统的完整实现方案。该系统能够准确识别200米范围内的停车位状态,为智能停车场管理系统、自动驾驶车辆提供关键的视觉感知能力。文章涵盖算法原理、数据集构建、模型训练、系统实现及优化策略,并提供完整的代码实现和UI界面设计。关键词:YOLO系列,深度学习,停车位检测,计算机视觉,智能交通系统pythonimport cv2import os"""创建数据存储目录""""""定时采集图像"""

YOLO 186

QTreeWidget基本使用

QTreeWidget使用示例 xxx.h #include <QTreeWidget> xxx.cpp ui->treeWidget->setColumnCount(4); //设置总列数 ui->treeWidget->setHeaderLabels(QStringList()<<"文件"<<"大小"<<"创建时间"<<"修改时间"); // 设置表头 QTreeWidgetItem *item = n

qq_37131073的博客 1346

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【Qt for Python官方教程】使用QTreeWidget组件显示数据

如果你想要在窗口中显示用**树形结构**表示的数据,可以使用 `QTreeWidget` 组件。 > 注意:使用 `QTreeWidget` 不是显示树形结构数据的唯一途径。你可以创建数据模型,然后使用 `QTreeView` 组件来显示它,但这不在该教程的范围之内。 下面是使用 `QTreeWidget` 组件显示树形结构数据的具体步骤: 1. 引用 `QTreeWidget` 和 `QTreeWidgetItem` ```python import sys from PySide6.Q

摘星阁 5407

VC中sqlite的使用

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

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Qml实现QTreeWidget的功能

Qml实现QTreeWidget的功能。 main.qml import QtQuick 2.9 import QtQuick.Window 2.2 Window { visible: true width: 300 height: 480 title: qsTr("Hello World") TreeView{ id:tree width: 300 anchors.left: parent.left

www.linuxkiss.com 你可以精通一门IT技术 604
上一篇: QT文件操作
下一篇: python C/S模型
错_对
博客等级 码龄16年 68粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值