```cpp int main(int argc, char *argv[]) { QApplication a(argc, argv); QList<QScreen*> screens=QGuiApplication::screens(); if (screens.size()==1) { Widget w; w.show(); SecWiget secWidget;; secWidget.show(); } return a.exec(); } ``` 这段代码中为什么两个窗口同时一闪而过
时间: 2024-01-22 14:03:00 浏览: 79
C语言中 int main(int argc,char *argv[])的两个参数详解
这段代码中两个窗口同时一闪而过是因为在主函数中分别创建了两个窗口对象 `Widget w` 和 `SecWidget secWidget`,并且两个窗口对象的 `show()` 函数都被调用了,所以在 `a.exec()` 开始执行之前,两个窗口都被显示出来了,并且由于没有设置窗口的位置和大小,它们可能会重叠在一起,导致同时一闪而过的现象。如果想要解决这个问题,可以在创建第二个窗口的时候,调用 `move()` 函数设置第二个窗口的位置,或者在构造函数中设置窗口的默认位置和大小。
阅读全文