• 3926阅读
  • 4回复

疑难问题请教版主 [复制链接]

上一主题 下一主题
离线xymail110
 
只看楼主 倒序阅读 楼主  发表于: 2009-07-01

请教版主一个非常奇怪的问题。

代码我就不贴了,大致如下:

函数
void func(int flag)
{
    if (flag == 0)
        pLabel->setText("xxxx");
    else if (flag == 1)
        pLabel->setText("yyyy");
}

        就是根据flag的状态分别显示不同的中文字符,感觉95%以上都是运行良好,但是偶尔,只是偶尔,
根据打印结果来看,flag的状态是正确的,但是界面显示的中文字符却不正确,我测试了好多次,
函数已经执行到了这个选择分支结构里面,但是界面显示就是不正确,非常费解。
        我觉得setText函数肯定是执行了,会不会是跟中文显示有关呢?请版主帮忙分析一下。
        我们曾经改用英文显示来测试,结果是没出现问题,但是以当时有限的测试根本不能证明英文显示就一定
正确,所以仍然是毫无头绪。
学无止境
离线xymail110
只看该作者 1楼 发表于: 2009-07-02
版主怎么不吭声啊?

自己顶一下了,晕
学无止境
离线taomic

只看该作者 2楼 发表于: 2009-07-02
用qApp->processEvents() 试试
可能其它操作阻塞,没有及时处理。
加入调试信息是不是对的。就是在函数内打印flag
离线litao422
只看该作者 3楼 发表于: 2009-07-02
支持楼上,感觉孤立使用 setText 函数,似乎力不从心。
离线xymail110
只看该作者 4楼 发表于: 2009-07-03
在函数内打印flag的值是正确的,我怀疑是setText函数执行出了问题,或者是与Qt界面的更新机制有关。
学无止境
快速回复
限100 字节
 
上一个 下一个