繁体   English   中英

QProgressDialog不显示文本标签

[英]QProgressDialog not showing text label

我正在尝试在Qt应用程序中处理某些内容时显示带有消息的窗口,因此我决定使用QProgressDialog

但是我有一个问题,文本标签没有显示: QProgressDialog没有显示文本标签

我的代码:

QProgressDialog progressDialog(this);
progressDialog.setWindowTitle("Cargando");
progressDialog.setLabelText("Cargando los datos del volumen, por favor espere");
progressDialog.setCancelButton(0);
progressDialog.show();

// DOING SOME STUFF

progressDialog.close();

我意识到,如果我使用progressDialog.exec()而不是progressDialog.show() ,则会显示文本标签,但应用程序将被阻止。

有人可以帮我吗?

对话框未显示任何内容的原因可能是由于您正在执行“某些填充”。 如果您在主线程上执行此操作,则它将阻塞您的UI,并且对话框无法绘制其内容。

根据这些东西是什么,您有两种选择:

如果您在循环中执行某项操作,则只需在每次迭代中调用QApplication::processEvents

如果操作本身花费的时间更长或不是一个循环,则您将不得不在另一个线程上异步执行此操作。 例如,通过使用QtConcurrent::run 并发操作完成后,使用QFutureWatcher关闭对话框

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM