我遇到了wxBusyInfo的问题。 我想在进行一些计算时禁用用户的操作。 我只是写这样的代码:
wxWindowDisabler disableAll;
wxBusyInfo info(_T("Working, please wait..."), this);
for(int i = 0; i < 1; i++)
{
Install();
}
在Install()函数中,我做了一些这样的工作:
wxSleep();
wxExecute(cmd, output, errors);
当我运行应用程序时,busyinfo对话框将会显示,但它不再位于应用程序的顶部。在我单击应用程序或单击busyinfo对话框后,它会像附加的图片一样。 Install()函数完成后,就可以了。但我不希望用户可以通过这种方式结束应用程序。 有什么问题?我能做什么? after click the applicatioin after click the busyinfo dialog
答案 0 :(得分:0)
你正在同步调用wxExecute,这意味着它在cmd completes.
之前不会返回所以你的应用程序没有机会更新显示。
因此,您需要异步调用wxExecute。
障碍是你无法看到执行命令的输出和错误。