实例QT程序 —— QTableWidget 表格行的上下移动
目录
1.简介
2.源码
3.效果图
源码下载地址
https://download.csdn.net/download/Redboy_Crazy/12273652
1.简介
实例QT程序:实现QTableWidget表格中行的上移/下移的功能。
2.源码
- widget.h
- widget.cpp
widget.h
#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>namespace Ui {class Widget;
}class QTableWidget;class Widget : public QWidget
{Q_OBJECTpublic:explicit Widget(QWidget *parent = nullptr);~Widget();private slots:void on_btnUp_clicked();void on_btnDown_clicked();private:// 移动行void moveRow( QTableWidget *pTable, int nFrom, int nTo );// 复制行void copyRow( QTableWidget *pTable, int nFrom, int nTo );private:Ui::Widget *ui;
};#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);ui->tabWdg->selectRow(0);
}Widget::~Widget()
{delete ui;
}void Widget::on_btnUp_clicked()
{int nCurRow = ui->tabWdg->currentRow();moveRow(ui->tabWdg, nCurRow, nCurRow-1);
}void Widget::on_btnDown_clicked()
{int nCurRow = ui->tabWdg->currentRow();moveRow(ui->tabWdg, nCurRow, nCurRow+1);
}void Widget::copyRow( QTableWidget *pTable, int nFrom, int nTo )
{int nColCount = pTable->columnCount();for(int col=0; col<nColCount; col++){QString text = pTable->item(nFrom, col)->text();QTableWidgetItem *it = new QTableWidgetItem;it->setText(text);pTable->setItem(nTo, col, it);}
}void Widget::moveRow( QTableWidget *pTable, int nFrom, int nTo )
{if( pTable == nullptr ) {return;}if( nFrom == nTo ) {return;}if( nFrom < 0 || nTo < 0 ) {return;}int nRowCount = pTable->rowCount();if( nFrom >= nRowCount || nTo >= nRowCount ) return;int nColCur = 0;nColCur = pTable->currentColumn();QTableWidgetItem *itCur = pTable->currentItem();if( nullptr != itCur ){nColCur = itCur->column();}int nFromRow = nFrom;int nInsertRow = nTo;if( nTo < nFrom ){ // UpnFromRow = nFrom + 1;pTable->insertRow(nTo);
// this->insertRow(pTable, nTo);}else { // DownnInsertRow = nTo + 1;pTable->insertRow(nInsertRow);
// this->insertRow(pTable, nInsertRow);}this->copyRow( pTable, nFromRow, nInsertRow );
// this->removeRow( pTable, nFromRow ); //删除旧行信息pTable->removeRow(nFromRow);// 选择之前移动的行pTable->selectRow( nInsertRow );pTable->setCurrentCell(nTo, nColCur);
}
3.效果图
运行效果图
加油,向未来!GO~
Come on
实例QT程序 —— QTableWidget 表格行的上下移动相关推荐
- 实例QT程序 —— QTableView 表格行的上下移动
目录 1.简介 2.源码 3.效果图 源码下载地址 https://download.csdn.net/download/Redboy_Crazy/12276410 1.简介 上一篇文章,介绍了实现Q ...
- qt程序使用多行linux命令,开发Qt应用程序的基本方法总结
在开发Qt4应用程序时,有几种常见的做法. 1.全部采用手写代码,在命令行下完成编译和运行 这种方式是最基础.最基本的,使用它的感觉有点像练武术时的扎马步,一招一式非常清楚.它最锻炼开发者的技能,因为 ...
- Qt下QTableWidget 基本用法
QTableWidget的基本设置 设置表头 ui->tableWidget->setColumnCount(11); ui->tableWidget->setRowCount ...
- PyQt5 技术篇-QTableWidget表格组件指定行的隐藏与显示控制实例演示,设置表格指定列的列宽方法
def change_table(self):'''作用:通过取值框的值改变表格行数'''cols = self.spinBox.value()if(cols == 1):# 行隐藏self.tabl ...
- PyQt5 技术篇-设置QTableWidget表格组件默认值实例演示,如何获取QTableWidget表格组件里的值,获取表格的行数和列数
self.tableWidget.setItem(0, 0, QTableWidgetItem("设置值的内容")) 可以设置指定单元格里的值. self.tableWidget. ...
- Qt QTableWidget表格控件的用法(非常详细)
Qt QTableWidget表格控件的用法(非常详细) QTableWidget 是 Qt 提供的一种表格控件(如图 1 所示),类似于我们经常使用的 Excel 表格,可以将数据以表格的方式展示给 ...
- 命令行编译Qt程序(qmake+jom/Nmake/mingW)
命令行编译Qt程序(qmake+jom/Nmake/mingW) 一.创建工程,生成以下几个文件 二.命令行编译 创建三个bat文件,分别使用以下三种方式编译 1.qmake+jom编译,使用wind ...
- 命令行下打包Qt程序
命令行下打包Qt程序 上一节我们说了 命令行下编译Qt程序 https://blog.csdn.net/weixin_42837024/article/details/81945656 现在基于上次继 ...
- 几行代码实现c++/qt程序进程单例(文件锁)
qt程序进程单例(文件锁的方法) 原理 通过锁定文件,直至程序退出解锁,那么当程序第二次打开的时候检测到文件是锁定的,则退出 使用qt文件锁的方法 请在main函数里面使用,不要单独封装函数,保证锁没 ...
最新文章
- 如何用javascript控制上传文件的大小
- 官宣!这些北京高校,去雄安!
- python tfidf特征变换_Python机器学习之“特征工程”
- CodeForces - 1459D Glass Half Spilled(dp)
- apache common-io.jar FileUtils
- SAP Spartacus B2B Unit page convertListItem方法的工作原理
- python json数据格式数组内元素递增赋值_利用Python实现JSON格式数据的编码与解码操作...
- jQuery得事件绑定
- 配置jupyter notebook到conda env虚拟环境里可运行
- Redis-数据结构01-压缩列表(ziplist)
- linux主备dns切换时间,linux下主从DNS配置相关知识(二)
- python3多进程执行循环_Python3 并发编程之多进程(一)
- 从高德地图获取城市地铁线路+站点
- 修改RAC中的私网地址导致CRS启动失败
- 检查linux中nginx是否已安装成功,linux服务下安装nginx 系统版本Ubuntu 18.04.4
- 如何确定一笔用户的BTC转入记录
- 关于笔记本真机装Linux连接WIFI并设置静态IP
- 7500 cpuz跑分 i5_为何i5 7500被人称为智商检测的cpu,但为什么还有这么多人去买?...
- 腹直肌整体(05):仰卧屈膝两头起
- thanks for your share