QT(C++)-QTableWight添加行和删除空行

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


1、前言

最近要用QT开发项目,对QT不是很熟,就根据网上的查到的知识和自己的摸索,将一些经验和知识记录下来。方便自己后续查找。
这个博客主要是QTableWidget的添加行和删除空行。

2、QTableWidget的添加行


	int row = ui->jiwuTableWidget->rowCount();
	int column = ui->jiwuTableWidget->columnCount();
	ui->jiwuTableWidget->insertRow(row);
	//下面是为了删除时判断是不是空行,当然如何判断null可能也是的,我可以试
	for (int i = 0; i < column; i++)
	{
   
		QTableWidgetItem *item = new QTableWidgetItem();
		item->setText("");
		ui->jiwuTableWidget->setItem(row, i, item);
	}

3、删除行

QList<QTableWidgetItem*>itemList = ui->jiwuTableWidget->selectedItems();
	std::vector<int> rowItemIndex;       //保存选中行的行号
	for (int i = 0; i < itemList.count(); i++)
	{
   
		rowItemIndex.push_back(itemList.at(i)->row());//存储选中的行
	}
	std::sort(rowItemIndex.begin(), rowItemIndex.end(), Comp);//将行号从大到小排序
	rowItemIndex.erase(std::unique(rowItemIndex.begin(), rowItemIndex.end()), rowItemIndex.end());//去除重复的行号

	for (int k = 0; k < rowItemIndex.size(); k++)
	{
   
		ui->jiwuTableWidget->removeRow(rowItemIndex[k]);//删除行
	}

这里用对Comp
其声明为:


using std::vector;
using std::sort;
	static bool Comp(const int &a, const int  &b);

其定义为:

bool Comp(const int &a, const int  &b)
{
   
	return a > b;
}

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-01 06:26:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-01 06:26:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-01 06:26:03       82 阅读
  4. Python语言-面向对象

    2024-01-01 06:26:03       91 阅读

热门阅读

  1. burpsuite模块介绍之dashboard(仪表板)

    2024-01-01 06:26:03       65 阅读
  2. [NOIP2002 普及组] 级数求和

    2024-01-01 06:26:03       58 阅读
  3. php接口优化 使用curl_multi_init批量请求

    2024-01-01 06:26:03       63 阅读
  4. Python编程-实现对自定义类对象排序

    2024-01-01 06:26:03       70 阅读
  5. 常见算法面试题目

    2024-01-01 06:26:03       66 阅读
  6. 2023年人工智能行业总结

    2024-01-01 06:26:03       61 阅读
  7. C++ 基本MyString实现

    2024-01-01 06:26:03       53 阅读
  8. B3610 [图论与代数结构 801] 无向图的块 题解

    2024-01-01 06:26:03       52 阅读