日志
关于QProgressDialog不显示问题
2016-10-28 21:36
刚好要用到进度条显示,我的是xp Qt5.7,用QProgressDialog写好之后测试正常,但在release版本中一直不显示,一直以为是那里改错了,经过多次测试发现,在debug版本中 如下测试:
QProgressDialog *process= new QProgressDialog(this); process->setLabelText(tr("processing...")); process->setRange(0,20000); process->setModal(true); process->setCancelButtonText(tr("cancel")); for(int j=0;j<=20000;j++) {process->setValue(j);} 运行显示正常,单是release却不行,最后经过查询,测试发现,必须有show,而且在循环中需加QApplication::processEvents()成功!;如下: QProgressDialog *process= new QProgressDialog(this); process->setLabelText(tr("processing...")); process->setRange(0,20000); process->setModal(true); process->setCancelButtonText(tr("cancel")); process->show(); for(int j=0;j<=20000;j++) { process->setValue(j); QApplication::processEvents();// //QApplication::sendPostedEvents(this); } |
下一篇: 无