运行截图如下:

代码如下:

widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QTreeWidgetItem>namespace Ui {
class Widget;
}class Widget : public QWidget
{Q_OBJECTpublic:explicit Widget(QWidget *parent = 0);~Widget();public slots:void treeWidgetOpenEditor(QTreeWidgetItem *item,int col);void treeWidgetCloseEditor();private:Ui::Widget *ui;QTreeWidgetItem *m_myItem;int m_myCol;
};#endif // WIDGET_H

widget.cpp

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);m_myItem=NULL;m_myCol=-1;QStringList strList;strList.append("第一列");strList.append("第二列");ui->treeWidget->setHeaderLabels(strList);this->setWindowTitle("CSDN IT1995");for(int i=0;i<10;i++){QTreeWidgetItem *newItem=new QTreeWidgetItem(ui->treeWidget);newItem->setText(0,"第"+QString::number(i)+"行,第1列");newItem->setText(1,"第"+QString::number(i)+"行,第1列");ui->treeWidget->addTopLevelItem(newItem);}ui->treeWidget->setStyleSheet("QTreeWidget::item{height:20px}");// 设置行距大小,可以防止编译修改完成以后,行距会发生变化connect(ui->treeWidget,SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)),this,SLOT(treeWidgetOpenEditor(QTreeWidgetItem*,int)));connect(ui->treeWidget,SIGNAL(itemChanged(QTreeWidgetItem*,int)),this,SLOT(treeWidgetCloseEditor()));
}Widget::~Widget()
{delete ui;
}void Widget::treeWidgetOpenEditor(QTreeWidgetItem *item, int col)
{ui->treeWidget->openPersistentEditor(item,col);m_myItem=item;m_myCol=col;
}void Widget::treeWidgetCloseEditor()
{if(m_myItem!=NULL){ui->treeWidget->closePersistentEditor(m_myItem,m_myCol);}
}

main.cpp

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

Qt工作笔记-双击TreeWidget列进行数据修改相关推荐

  1. Qt工作笔记-保存textEdit中的数据,并自动打开文件

    功能如标题所示. 程序运行如下: 代码如下: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include & ...

  2. Qt工作笔记-QDialog模式对话框传递数据给主窗口

    话不多说,上图: 这里同样是采用了Qt的信号与槽机制. 项目文件分布如下: 代码如下: dialog.h #ifndef DIALOG_H #define DIALOG_H#include <Q ...

  3. Qt工作笔记-发送端发送Json格式的数据包,接收端解析数据包

    原理以及运行 原理是因为QJsonDocument提供了一个函数toJson 可以直接把Json数据转成QByteArray,这样就可以直接发送数据包,然后再按照常规方法解析即可,本源码中含解析内容, ...

  4. Qt工作笔记-MySQL获取select表头(域)数据

    比如在开发的时候使用select但要提取域数据(基本上是二次开发的时候用) 如下: 如何使用Qt获取id,name,cardId,gender,major,birth的数据! 使用QSqlRecord ...

  5. Qt工作笔记-Qt连接Mysql数据库,检索及修改表数据

    目录 原理 演示及现象 原理 因为要对数据库进行操作,然后用某个程序看现象,如果有一个进程,能对指定表中的所有数据进行批量修改,那么看现象将会多么的明显啊! 个人感觉实现这种功能大体有两种思路,一个是 ...

  6. Qt工作笔记-QByteArray与自定义结构体之间的转化(可用于网络传输,以及数据回调)

    目录 理论 程序 理论 在Socket中,数据一般是char型(一般情况下,其实最好是用uchar来传输,避免莫名其妙的错误,但用char也是可以的),而在Qt里面可以使用QByteArray,这个在 ...

  7. Qt工作笔记-自定义QSortFilterProxyModel实现多列分别过滤

    程序运行截图如下: 原理,重写QSortFilterProxyModel类中的filterAcceptsRow即可: 源码如下: mysortfilterproxymodel.h #ifndef MY ...

  8. Qt工作笔记-使用SQL中的LIMIT进行数据分页

    目录 概念 操作 概念 这里使用SQL语言的中LIMIT的特点进行分页显示.这个关键字我就不多说了,现在来看运行截图! 表结构如下: 程序一开始运行: 分页显示: 操作 关键源码如下: sql.h # ...

  9. Qt工作笔记-QGraphics框架中,给图像中的点连线【获取场景中的数据】【有坑】

    程序运行截图如下: 这里面有一个坑,就是获取场景中的元素并不是根据图像中,从左往右,从上往下这样的获取. 而是根据加入常见的先后,进行的, 如下图: Line是在Ellipse前加载的,所以是这样的结 ...

最新文章

  1. ssd手 和方向检测
  2. 【Android 逆向】Android 逆向工具 ( Apktool | IDA | Python )
  3. 如何加速云原生数据应用?这个开源项目备受关注
  4. spring的annotation-driven配置事务管理器详解
  5. 使用dnSpy调试asp.net core源码
  6. 搜索 —— 深搜的剪枝技巧
  7. Linux C基础笔记(2)
  8. 思科模拟器之GNS3,GUI小凡的完美替代
  9. 企业微信H5开发使用微信开发者工具
  10. iOS开发入门学习路线
  11. 设置背景颜色html,css怎么设置背景颜色?
  12. c# .net对接企业微信小助手 接口请求时长预警
  13. 认证系统之 devise 简单入门教程 (三)
  14. oracle数据库安装与打开,Oracle数据库在Linux 中的安装与启动动
  15. 摩托罗拉Android系统,摩托罗拉Droid官方Android 2.2系统详细功能展示
  16. easyswoole消息队列
  17. mac上启动nginx遇到80端口被占用的解决方法(猜了好久的坑我擦)
  18. Findora区块链培训课程重磅上线!(附视频)
  19. java字节码文件结构解析
  20. VLAN基础实验(ENSP)

热门文章

  1. 腾讯二面,我被 “赛马” 问题难住了
  2. 我要嫁给一个程序员你们怎么看?
  3. 今天的弹指一瞬间的飞鸽传书
  4. 年轻人不通人情世故的C++短处中
  5. VC实现在ListBox中选择背景位图
  6. python:栈的理解与应用,让你快速入门Python
  7. 机器学习中用到的概率知识_山顶洞人学机器学习之——几种常见的概率分布
  8. suse 查看java版本_SLES 11 中JDK的安装和配置
  9. c++矩阵连乘的动态规划算法并输出_算法交流: 7215 简单的整数划分问题 【2.7基本算法之算法效率】...
  10. GPS NMEA-0183协议常用数据格式及解析攻略