void Widget::ProgressbuttonPressed()
{ QProgressDialog dialog("文件复制进度",("取消"),0,50000,this);
dialog.setWindowTitle("我爱你");
dialog.setWindowModality(Qt::WindowModal);
dialog.show();
for(int i=0;i<50000;i++)
{ dialog.setValue(i);
QCoreApplication::processEvents(); //就是这句
if(dialog.wasCanceled())break; } QMessageBox::information(NULL,("文件复制完成"),
("文件复制完成"));
}
如果我把那句注释掉 进度条就瞬间填满 如果没注释掉 进度条是一点一点填满的 为什么 progressEvents()这个函数有什么用
------解决方案--------------------
调用主线程的事件循环,处理队列里的事件(这里会花一点时间),然后再继续执行