当前位置: 首页 > news >正文

QT QSplitter

     分裂器QSplitter类提供了一个分裂器部件。和QBoxLayout类似,可以完成布局管理器的功能,但是包含在它里面的部件,默认是可以随着分裂器的大小变化而变化的。

     比如一个按钮放在布局管理器中,它的垂直方向默认是不会被拉伸的,但是放到分裂器中就可以被拉伸。还有一点不同就是,布局管理器继承自QObject类,而分裂器却是继承自QFrame类,QFrame类又继承自QWidget类,也就是说分裂器拥有QWidget类的特性,它是可见的,而且可以像QFrame一样设置边框。它实现了分割窗口的功能,允许用户通过拖动它们之间的边界来控制子部件的大小。

下面通过实例演示QSplitter类的使用

在源文件“main.cpp”具体代码如下:

运行效果:

此实例中设定右部分分割窗口为可伸缩控件,

当整个对话框的宽度发生改变时,左部的文件编辑框宽度保持不变,右部的分割窗口宽度随整个对话框大小的改变进行调整。

调用setOpaqueResize(bool)方法用于设定分割窗口的分割条,

在拖曳时是否为实时更新显示,若设为true 则实时更新显示,若设为false 则在拖曳时只显示一条灰色的粗线条,在拖曳到位并释放鼠标后再显示分割条。默认设置为true

调用setStretchFactor()方法用于设定可伸缩控件

它的第1个参数用于指定设置的控件序号,控件序号按插入的先后次序从0起依次编号;

第2个参数为大于0的值,表示此控件为可伸缩控件。

splitterMain->setStretchFactor(1,1);

这里的“1”代表要设置的部件的索引,即第二个部件;“1”代表设置的拉伸因子,即这个部件在所有部件中的拉伸比率。

拉伸因子越大,当布局的空间发生变化时,该部件就会被拉伸得越多,以便填满所有的空间。在这种情况下,因为设置的拉伸因子为1,所以该部件不会被拉伸,也就是说它的大小将是固定的。

如果想让某些部件在空间变化时能够自动拉伸,可以给这些部件设置较高的拉伸因子。例如,splitterMain->setStretchFactor(1, 2); 就会让第二个部件的大小是第一个部件的两倍。

http://www.lryc.cn/news/228415.html

相关文章:

  • 银行支付凭证截图生成器在线,工商邮政农业招商建设,画板+透明标签+图片框
  • 微服务概述
  • LabVIEW中NIPackageManager功能介绍
  • 【C语言】sem_getvalue
  • Linux的shell的$# | fi | 说明
  • C //例 7.12 用选择法对数组中10个整数按由小到大排序。
  • Spring Bean循环依赖问题及解决
  • Golang源码分析 | 程序引导过程
  • 第三章:人工智能深度学习教程-基础神经网络(第四节-从头开始的具有前向和反向传播的深度神经网络 – Python)
  • 【入门Flink】- 08Flink时间语义和窗口概念
  • 【 OpenGauss源码学习 —— 列存储(CStore)(六)】
  • MUYUCMS v2.1:一款开源、轻量级的内容管理系统基于Thinkphp开发
  • SDL2 显示文字
  • c++ future 使用详解
  • 好用的C C++ 日志宏 OutputDebugStringA 写到文件或界面
  • 如何在ModelScope社区魔搭下载所需的模型
  • NLP在网安领域中的应用(初级)
  • 03.UDP套接字与原始套接字
  • 「NLP+网安」相关顶级会议期刊 投稿注意事项+会议等级+DDL+提交格式
  • Python开源项目RestoreFormer(++)——人脸重建(Face Restoration),模糊清晰、划痕修复及黑白上色的实践
  • 设计模式 -- 命令模式(Command Pattern)
  • 【数据分享】2021-2023年我国主要城市逐月轨道交通运营数据
  • 大数据-之LibrA数据库系统告警处理(ALM-12034 周期备份任务失败)
  • tx-前端笔试题记录
  • 详解Redis持久化(上篇——RDB持久化)
  • 爬虫常见风控
  • 华为ensp:边缘端口并启动BUDU保护
  • 分布式id生成数据库号段算法的golang实现
  • 【算法 | 模拟No.4】AcWing 756. 蛇形矩阵 AcWing 40. 顺时针打印矩阵
  • 数据——最为直接的答案