QT布局

Qt中常用的布局主要有三种使用方式:

  1. 绝对位值法;
  2. 人工布局法;
  3. 布局管理器;
  • 绝对位置法
    1. 解释
      很好理解就是说,直接对各个窗体的部件分配固定的大小和位置,并且需要的是对主窗口大小定死;
    2. 优缺点
      用户没有办法来改变窗口的大小;
      假设用户选择一种不常用的大字体,或者当应用程序翻译成另外一种语言之后,可能出现文件截断;
      对某些风格的平台来说的话,这些窗口可能并不具备合适的尺寸大小;
      必须人工来计算这些位置和大小。
    3. 使用方法:
      使用 widget部件的函数:
      setGeometry(x,y,width,height) 可以直接设置 widget部件的坐标(x,y) 以及 部件的大小 ;
      setFixedSize(width,height) 设置窗口的大小
  • 人工布局法
    1. 解释
      人工布局法, 还是需要设置窗口部件的位置。但是可以更改主窗体的大小,也就是 说可以利用人工的方法 使得窗口部件的代销总是可以 和主窗口的小成比例。
    2. 优缺点
      可以改变主窗口的大小;
    3. 使用方法
      通过实现窗体的resizeEvent函数,该函数可以在窗体进程绘制的时候调用;
      主要依托width() 、height()这两个函数,可以直接得到当前窗口的大小。
      之后根最小大小来设置窗口的大小;
  • 布局管理器
    1. 解释
      使用qt自带的布局管理来 管理 部件;
      QHBoxLayout 水平布局 QVBoxLayout 垂直布局 QGridLayout 表格布局
    2. 优缺点
      使用布局管理器,可以为我们提供很多额外的好处:
      如果向布局中添加部件的话,布局会使用当前的所产生的新情况 ;
      如果对某个部件设置的 hide() 或者是show()属性的时候,也会适应这些情况;
      如果某个子部件的大小发生了改变的话,布局会自动调整当前的状况,从而把新的大小提示考虑进去。
    3. 使用方法
      QGridLayout:
      layout->addWidget(widget , width ,height ,rowspan ,colspan )
      layout->addStretch() 添加一个分割符
      layout->addLayout 部件组合
      setLayout(layout) 设置布局
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Qt 布局系统介绍 布局系统 作为一名 iOS 开发人员, 见证着 iOS 布局系统的不断完善, 从绝对布局, A...
    旭丶Joy阅读 14,756评论 6 19
  • 强烈推荐QT资料:http://www.kuqin.com/qtdocument/index.html别人整理的实...
    放风筝的小小马阅读 3,047评论 0 0
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,698评论 0 17
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,679评论 1 92
  • 总结 布局的计算过程 如果设置了最小尺寸(或者最小尺寸提示)、最大尺寸,则组件获取的空间不能超过这些限制 如果没有...
    勤劳的悄悄阅读 5,447评论 0 0