E-comon 发表于 2021-5-8 13:59:37

mousepressevent 触发不正确

我在用mousepressevent的时候遇到一个很奇怪的现象,就是用mousepressevent先改变string值进行settext的时候,label上没有正确响应进行改变,但是string的值确实改变了,因为我用button进行settext的时候值是同步变动的,但是用mousemoveevent时,点一下不会立即settext,要点两三下才会set,但是此时同一个函数内的改变string值却正常触发了,我不知道这是什么情况,恳请解答。

lxc 发表于 2021-5-8 18:01:14

int aa=0;
void MainWindow::on_pushButton_pressed()
{
    ui->label->setText(QString::number(aa++));
}
用上述代码做了测试,刷新正常

E-comon 发表于 2021-5-9 15:31:30

lxc 发表于 2021-5-8 18:01
用上述代码做了测试,刷新正常

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

E-comon 发表于 2021-5-9 15:38:51

lxc 发表于 2021-5-8 18:01
用上述代码做了测试,刷新正常

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

chemvin 发表于 2021-5-10 09:09:01

settext之后,调一下repaint()试试
页: [1]
查看完整版本: mousepressevent 触发不正确