求助:一个很奇怪的 tablewidget 的问题

weixin_40451269 2018-04-26 08:07:47
我先梳理一下我遇到的问题:
1,我有一个表格,随着不同的 config,我需要刷新这个表格,并且间或显示或者隐藏中间的某几行。
2,现在遇到的问题是:一个不相关的 config 启动之后,这个 表格 就会不显示所有数据。

目前确认的有:
1,没有内存越界:valgrind 查过 接近十次了。
2,没有显式的逻辑问题: ddd / qt-creator debugger 都没问题,几十次的查阅了。
3,内部要显示的数据都在,检查了几十遍了。
4,让他重新显示,并且重新绘制的 代码 成功运行了,但是就是没响应。

调用的是:setRowHidden( true / false ) 这一组函数来进行的操作
...全文
1989 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
windywater119 2018-08-14
  • 打赏
  • 举报
回复
我都不用clear的,用的是

while (table->rowCount() > 0)
table->removeRow(0);
Marcelxx 2018-04-28
  • 打赏
  • 举报
回复
查下给TableWidget的数据是否是正确的,完整的。 用TableView试试?
萝布菜 2018-04-28
  • 打赏
  • 举报
回复
通过你的描述不能明确config的作用。 不论实际需求是怎么样的,表格内容的显示: 1.加载数据 2.控制显示内容 你提供的信息来分析可能是不相关的config条件未做数据加载动作。
weixin_40451269 2018-04-28
  • 打赏
  • 举报
回复
我另外一个 项目里面,类似的 table 是好好儿的,这两者的唯一区别是,这个项目中的 table 我进行了 QTableWidget::clear( ) 的操作,虽然在 clear 之后,我重新绘制了 horizontalHeader & verticalHeader,rowCount, colCount 也重新设置了,但猜测内部的某些变量并没有复原。导致这个问题,我打算重写这个逻辑,将原先的 clear 替换为 逐行 removeRow 或者 setRowHidden 来试试看
dext 2018-04-26
  • 打赏
  • 举报
回复
问题描述不是很清楚 不过问题可能就在 重新绘制的 代码 成功运行了
weixin_40451269 2018-04-26
  • 打赏
  • 举报
回复
补充一下,我的环境是 Qt 5.10.1,我的开发环境 是 c++11 & gcc 4.8.4 & ubuntu 14.04 64bit

16,203

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧