文章标题 原创 翻译 转载 文章内容 显示窗口看起来很简单,但是有一些细节要注意的。通常有下面几种情况需要展示一个窗口: 1. 第一次创建后展示 2. 窗口最小化 3. 窗口不在最前面 4. 窗口销毁后再次创建(同第1种) 注意: 这里说的不是通过任务栏来激活窗口,而是通过用户设计的按钮或者菜单来打开窗口 通常的做法如下: ``` widget->show(); widget->raise(); ``` 这里有两个问题: 1. 窗口最小化后出不来 2. 窗口从非激活状态显示出来后点击主界面,主界面还是被遮挡了,只有在子窗口上点击一下激活子窗口再去主窗口上点击才有效 下面代码的实现方式,测试下来是没问题的: ``` void GraceShowWidget(QWidget *widget) { if (!widget) { return; } if (widget->isMinimized()) { widget->showNormal(); } else { widget->show(); } widget->raise(); widget->activateWindow(); } ``` 文章类别 Python Mobile Android Java Shell Life Database Bug Windows IOS Tools Boost Node.js Mac Product Tips C/C++ Golang Javascript React Qt MQ MongoDB Design Web Linux LLM ChatGPT RAG AI 提交