QTableWidget删除行出错
来源:互联网 发布:上海 旗袍 知乎 编辑:程序博客网 时间:2024/05/09 07:46
在调用removeRow删除QTableWidget的行时总会遇到一个问题,说tableWidget已经是isEmpty(),不能再删除了,但其实还有一行没删除,可是只要删除那最后的一行就出错.代码大致是这个样子的
1.这里是删除的代码,感觉应该没有问题的
for (int i = tableRowCount; i >= 0; --i)
{
ui.classfication_table->removeRow(i);
}
2. 前面给table建立了一个信号槽链接
connect(ui.classfication_table, SIGNAL(itemSelectionChanged()), this, SLOT(OnSelectTableRowChanged()));
每次改变所选中的item,都会触发这个槽函数
3. 槽函数
void MakeTemplate::OnSelectTableRowChanged()
{
QList<QTableWidgetItem*> items = ui.classfication_table->selectedItems();
QTableWidgetItem *item = items.first();
item.......
}
后来我发现,每次我在执行removeRow()进行删除后,如果删除的中的item在删除前是选中状态,当删除这一行后,会执行OnSelectTableRowChanged这个槽函数.并且将这个item上一行的item重新作为选中状态.当我执行完remove最后一行后,此时table已经没有item了,也没有行,但是仍然执行这个函数,但是items已经是空的了,所以在向下执行的时候会出错
解决方法就是在进入这个函数的时候添加一个判断,看table是否为空,或items是否为空.
- QTableWidget删除行出错
- QTableWidget行选中/删除/添加行
- QTableWidget行选中/删除/添加行
- QTableWidget行选中/删除/添加行
- QTableWidget删除操作
- 改变QTableWidget 行高
- 使QTableWidget 增加自动添加行,单击删除行的功能.
- QTableWidget
- QTableWidget
- QTableWidget
- QTableWidget
- QTableWidget
- QTableWidget
- QTableWidget
- QTableWidget
- QTableWidget
- QTableWidget
- QTablewidget
- 吴恩达Coursera深度学习课程 DeepLearning.ai 编程作业(2-1)
- 基本类型的位数
- 前端常用
- 本机ECShop_V2.7.3_UTF8安装时报错
- [Leetcode] 47. Permutations II
- QTableWidget删除行出错
- Android 集成支付宝
- python 环境安装
- [bzoj4094][Usaco2013 Dec]Optimal Milking 线段树
- 无人驾驶技术综述
- 小仙女是谁???
- Solr6.5配置中文分词器
- POJ 2001 字典树(小变形)
- Maximum_Product_of_Word_Lengths