• 2698阅读
  • 1回复

[提问]求教两个对话框,第一个无法显示的问题 [复制链接]

上一主题 下一主题
离线qazaq408
 

只看楼主 倒序阅读 楼主  发表于: 2017-11-10
现在有对话框A和B,其中B比较大,new需要大概3-5秒时间,所以写了一个用于显示GIF图片的对话框A,GIF图片旋转的圈,代码类似这样
  1. if(A != NULL)
  2.     delete A;
  3. A = new load_Dialog(this);
  4. A->show();
  5. A->rasie();
  6. A->activeWindow();  //这里先显示对话框A
  7. if(B != NULL)
  8.     delete B;
  9. B = new longK_Dialog;  //这行代码需要花费3-5秒
  10. B->exec();
  11. delete A;
我的设想是,先显示对话框A,然后能对话框B生成完成了再显示B,带实际情况是,程序不显示A,而是过里-5秒后直接显示B

然后我把上面的
  1. A->show();
  2. A->rasie();
  3. A->activeWindow();
换成了
  1. A->exec();

在运行时就会立刻显示A了,我想问下,怎么样让程序先显示对话框A,然后在显示对话框B呢?如果使用a->exec();程序就停在这里了,就不会执行下面的代码了

离线小韩老师

只看该作者 1楼 发表于: 2017-11-10
感觉你说的对话框A是个busy的状态,其实你第一种方法换成
A = new load_Dialog();应该可以出你说的效果,你试试吧!不过总感觉你这么做busy状态有点奇怪
快速回复
限100 字节
 
上一个 下一个