背景:

Win8.1 64bit,VS 2013, Qt 5.3.0,要实现QDockWidget 的最大化,而Qt的QDcokWidget默认不提供最大化按钮。默认的QDcokWidget如下所示:

解决思路:

1. 查找QDockWidget 的属性,看是否有某个属性设置,可以使窗口有最大化按钮。

2. 自定义标题栏,使关闭按钮的左边多出一个最大化按钮。

3. 自定义鼠标事件,在标题栏上双击鼠标,使窗口最大化。

解决办法:

我最终使用第3种办法解决问题,响应标题栏上的鼠标双击事件,然后最大化。

没找到标题栏的鼠标双击事件,但是找到了一个非客户区的鼠标双击事件,这个可以满足我的需要。

解决步骤:

1. 定义一个QDcokWidget 的子类,名字叫 MaxAbleDockWidget。

2. override event函数,函数实现如下:

bool MaxAbleDockWidget::event(QEvent * event)
{if (event->type() == QEvent::NonClientAreaMouseButtonDblClick){showMaximized();return true;}else{return QDockWidget::event(event);}
}

可能存在的问题:

这样完成之后,发现不但可以最大化,而且在DockWidget最大化后,双击标题栏,还能够显示NormalSize。
估计这个是在Qt 的ShowMaximized()中间有处理。我暂时不想去再看里头的原因了,已经完成了我想要的功能。

Qt QDcokWidget 最大化相关推荐

  1. QT禁用“最大化按钮“和“禁止调节窗口大小“

    QT禁用"最大化按钮"和"禁止调节窗口大小" "最大化按钮":setWindowFlags(windowFlags()& ~Qt:: ...

  2. Qt 窗口最大化,全屏无边框显示

    //窗口最大化 setWindowState(Qt::WindowMaximized); 用这个要比用showMaximized好 //全屏无边框显示 setWindowState(Qt::Windo ...

  3. Qt窗口最大化/最小化/窗口状态判断

    QT 中有一个函数: void QWidget::setWindowState ( Qt::WindowStateswindowState ) 这样的函数,通过它可以设置窗体的初始状态,Qt::Win ...

  4. qt界面最大化-实现在软件所在的显示器最大化和还原窗口大小

    用qt开发一个图片查看软件,通过重写qlabel实现自定义窗口title,这个title当电脑使用多个显示器的时候,我想实现: 当软件界面的大部分在显示器1的时候,点击最大化或还原按钮时软件就在显示器 ...

  5. Qt去掉最大化最小化按钮和最大化

    w.setWindowFlags(w.windowFlags()&~Qt::WindowMaximizeButtonHint&~Qt::WindowMinimizeButtonHint ...

  6. pyqt 弹出全屏窗口_pyqt5-QWidget-窗口状态(最大化最小化等)

    setWindowState(state)          #设置窗口状态 Qt.WindowNoState  无状态-正常状态 Qt.WindowMinimized     最小化 Qt.Wind ...

  7. Qt子窗口QMidSubwindow全屏出现的问题总结

    我的需求:想全屏一个子窗口QMidSubwindow,禁止显示最大化最小化和关闭按钮. 我开始尝试的是网上介绍的方法,把结果展现给大家一下,最后再总结: 方法1:QMidSubwindow直接调用sh ...

  8. qt Dialog自定义右上角的按钮

    需求场景:   使用 qt Dialog窗口进行预览文本内容时,发现窗口的右上角只有帮助.关闭按钮,又不想每次通过鼠标改动窗口的大小查看更多的内容. 思路:   修改 Dialog 右上角的按钮为最大 ...

  9. QT:函数知识点总结

    QChar            表示一个字符的类,包含于QtCore 判断: bool isDigit() const;//判断是否是十进制数字('0'-'9') bool isLetter() c ...

最新文章

  1. CVPR 2020 论文开源项目一页看尽,附代码论文
  2. 网宿科技实控人刚公布减持计划 机构席位蜂拥砸盘
  3. 2011寒假-操作系统学习笔记
  4. Intel Realsense D435 如何通过图像识别出的比例点(x, y)获得实际点相对于摄像机原点的三维坐标(x, y, z)?
  5. 《双人成行》如何炼就“教科书级别的合作体验游戏”典范?
  6. 电商产品评论数据情感分析代码详解
  7. Unity脚本各种[XXX]的用法
  8. Android 四大组件学习之ContentProvider三
  9. Thymeleaf 模板 js和css引入的方式
  10. 提问的智慧 程序员成长之路
  11. 浏阳市大瑶计算机学校,2021年湖南长沙浏阳市重点小学排名学校一览
  12. C++程序设计案例实训教程第6章
  13. Android APP测试流程
  14. FullScreen实现全屏和分屏
  15. python 图片文字转换成word_如何基于python把文字图片写入word文档
  16. 如何用python进行回归分析_如何用python进行回归分析
  17. 判断今天是星期几 暴力枚举
  18. TCP复位报文的发送
  19. 什么是SSD TRIM (by quqi99)
  20. 液晶LCD广告机是什么,主要用途有哪些。广告一体机的种类有哪些。

热门文章

  1. 802.11ax简要笔记
  2. 奥运14日看点:杨威金牌最稳 领衔7大夺金点
  3. Python turtle 绘制彩色蟒蛇(有注释)
  4. win10系统提示:“重新启动以修复驱动器错误”解决办法
  5. google 趣事面试题
  6. 首次接触大数据及其见解
  7. 三大优势让百度云智能推荐产品与众不同
  8. 这些安全类书籍值得一读
  9. 背书吧 2021.1.10日记
  10. 牛客网--关于合法括号序列判断