我有一个用wxWidgets创建的GUI应用程序。作为功能的一部分,我必须在操作GUI窗口的同时运行“任务”。例如,我可以运行代码:
long currentTime = wxGetLocalTime();
long stopTime = wxGetLocalTime() + 3;
while (wxGetLocalTime() != stopTime) {}
wxMessageBox("DONE IN APP");
在那3秒钟的时间内,我的应用程序实际上将被冻结,直到显示wxMessageBox为止。有没有一种方法可以在不使用多个线程的情况下在后台运行它?它为我正在开发的应用程序带来了问题。
我想知道是否可以使用某些类型的事件处理。任何帮助都将不胜感激。
最佳答案
试试这个:
long currentTime = wxGetLocalTime();
long stopTime = wxGetLocalTime() + 3;
while (wxGetLocalTime() != stopTime) {
wxYield();
}
wxMessageBox("DONE IN APP");