• 5881阅读
  • 4回复

tableWidget 修改单元格内容后,表格不刷新 [复制链接]

上一主题 下一主题
离线jinzihan2012
 

只看楼主 倒序阅读 楼主  发表于: 2019-07-16


调试时候,代码执行完63,65行后,表格的单元格数据没有显示出来.而是等到按钮的单击事件函数结束后,表格才显示出来修改的单元格数据.请问有什么办法可以,执行完63行修改单元格修改的代码后,就立刻让表格显示的方法吗?
网上查了说刷新表格,但是用了ui->tableWidget->viewport()->update();和 ui->tableWidget->update();都不好使.没有效果.
离线20091001753

只看该作者 1楼 发表于: 2019-07-16
按下是 pressed
松开是 released
单击是 clicked

这段函数,就是你红色框框,框住的整段内容,是在按钮单击后,才会执行。
顾名思义,单击就是 按下+松开 后。
(づ ̄ 3 ̄)づ
离线yuyu414

只看该作者 2楼 发表于: 2019-07-18
回 20091001753 的帖子
20091001753:按下是 pressed
松开是 released
单击是 clicked
这段函数,就是你红色框框,框住的整段内容,是在按钮单击后,才会执行。
....... (2019-07-16 21:24) 

版本没有理解楼主的意思
他的意思是这里打了个断点,程序运行到这里界面没有刷新。
界面并不是执行完就马上刷新的,要进入事件循环才会,你update也只是发了一个update的消息,真正执行update也要进入事件循环才会。
可以先了解下qt事件循环相关的。
肯定会有人说用processEvent,不建议用这个。
离线jinzihan2012

只看该作者 3楼 发表于: 2019-07-24
谢谢各位.确实是三楼所说的意思.我基本上觉得解决了.谢谢你的解释.
离线jinzihan2012

只看该作者 4楼 发表于: 2019-07-24
回 yuyu414 的帖子
yuyu414:版本没有理解楼主的意思
他的意思是这里打了个断点,程序运行到这里界面没有刷新。
界面并不是执行完就马上刷新的,要进入事件循环才会,你update也只是发了一个update的消息,真正执行update也要进入事件循环才会。
可以先了解下qt事件循环相关的。
....... (2019-07-18 10:18) 

谢谢你的解释.
快速回复
限100 字节
 
上一个 下一个