找回密码
 立即注册
收起左侧

mousepressevent 触发不正确

4
回复
536
查看
[复制链接]
累计签到:5 天
连续签到:1 天
来源: 2021-5-8 13:59:37 显示全部楼层 |阅读模式
3Qter豆
我在用mousepressevent的时候遇到一个很奇怪的现象,就是用mousepressevent先改变string值进行settext的时候,label上没有正确响应进行改变,但是string的值确实改变了,因为我用button进行settext的时候值是同步变动的,但是用mousemoveevent时,点一下不会立即settext,要点两三下才会set,但是此时同一个函数内的改变string值却正常触发了,我不知道这是什么情况,恳请解答。

回复

使用道具 举报

累计签到:3 天
连续签到:1 天
2021-5-8 18:01:14 显示全部楼层
  1. int aa=0;
  2. void MainWindow::on_pushButton_pressed()
  3. {
  4.     ui->label->setText(QString::number(aa++));
  5. }
复制代码

用上述代码做了测试,刷新正常
回复

使用道具 举报

累计签到:5 天
连续签到:1 天
2021-5-9 15:31:30 显示全部楼层
lxc 发表于 2021-5-8 18:01
用上述代码做了测试,刷新正常

我是同时在两个label里setText,显示延迟的label里用了table格式,显示的文字在其中一格里。
回复

使用道具 举报

累计签到:5 天
连续签到:1 天
2021-5-9 15:38:51 显示全部楼层
lxc 发表于 2021-5-8 18:01
用上述代码做了测试,刷新正常

用table格式settext是在一个自定义函数中,在子函数中既改变变量值也settext,变量值成功改变了,说明函数成功调用了,但是table里变量的显示总是出问题,要么卡一下要么跳一下,根据结果来看比另一个label慢一拍,似乎是第一次settext不起效,要再set一次才变化
回复

使用道具 举报

累计签到:819 天
连续签到:10 天
2021-5-10 09:09:01 显示全部楼层
settext之后,调一下repaint()试试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册