欢迎访问Ningto's博客

Menu
  • 首页
  • 归档
  • 关于
  • 书签
  • 必应壁纸
  • IT聚合
  • 工具
    • 我的工具列表
    • 我的网盘
    • 必应每日壁纸API
    • Html转Markdown
    • 仙尘光标
Menu

Qt 正确的显示窗口

最后更新 2021-01-13 10:07:46   阅读量 1484

显示窗口看起来很简单,但是有一些细节要注意的。通常有下面几种情况需要展示一个窗口:

  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();
}
(转载本站文章请注明作者和出处:泞途 - ningto.com)

下一篇 – golang接口型函数作用
上一篇 – gin多模板、模板嵌套使用方法

  1. Windows
  2. Qt

toningto@outlook.com

标签云

ChatGPT Javascript Design Database Shell Mobile MQ Tools Windows Qt Android Python Node.js React Go IOS Java Product Web MongoDB Others Tips C/C++ Life Mac Linux Bug Boost

推广链接

【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年99元

多谢支持,用了好几年,服务很稳定支持多设备!

其他

文章RSS

Copyright © 2016 Welcome To Ningto Blog | 鄂ICP备17003086号-2