界面上有十几个按键,每个按键都有一定的操作,在操作里面,因为不能确定客户是什么时间使用这个操作,所以是一个死循环,只有完成里面的条件才会跳出来,我在里面引用了processEvents(),来防止界面假死,但是如果连续点击两个按键(没有操作),几次以后就会段错误(吐核),求高手指点下,是什么原因,测试出来是因为processEvents()这个函数出现了问题,或者其他方法解决界面假死,代码大概如下:
void Widget::qt_sleep(int ms)
{
QTime t;
t.start();
while (t.elapsed() < ms)
{
QCoreApplication::processEvents();
}
}
int WIdget::on_file1_clicked()
{
...
...
while(1)
{
qt_sleep(200);
if(一个判断,如果满足条件,进入if里面){ }
}
}
int WIdget::on_file2_clicked()
{
...
...
while(1)
{
qt_sleep(200);
if(一个判断,如果满足条件,进入if里面){ }
}
}
int WIdget::on_file3_clicked()
{
...
...
while(1)
{
qt_sleep(200);
if(一个判断,如果满足条件,进入if里面){ }
}
}