一个QSplitter是一个可以包含其他控件的控件,这些控件被一个分隔条隔开,托拽这个分隔条,可以改变splitter的子控件的大小。

QSplitter控件经常做为布局管理器使用,给用户提供更多的界面控制。

实例:

实现功能:使用QSplitter实现分割窗口功能,整个对话框由四个窗口组成,各个窗口之间的大小可以任意拖拽来改变。

步骤:

1.  使用Qt Creater新建Gui应用程序,名称为QSplitter,基类为“QMainWindow”,取消“创建界面”按钮。

2.  在main.cpp中输入下列代码。

#include "mainwindow.h"
#include <QApplication>
#include <QSplitter>
#include <QTextCodec>
#include <QTextEdit>
#include <QObject>int main(int argc, char *argv[])
{QApplication a(argc, argv);//MainWindow w;//w.show();QFont font("ZYSong18030" , 12);a.setFont(font);QSplitter *splitterMain = new QSplitter(Qt::Horizontal, 0); //新建主分割窗口,水平分割QTextEdit *textLeft = new QTextEdit(QObject::tr("左部件"),splitterMain);textLeft->setAlignment(Qt::AlignCenter);QSplitter *splitterRight = new QSplitter(Qt::Vertical, splitterMain);   //右分割窗口,并以主分割窗口作为父窗口splitterRight->setOpaqueResize(false);QTextEdit *textUp = new QTextEdit(QObject::tr("上部件"),splitterRight);textUp->setAlignment(Qt::AlignCenter);QTextEdit *textMiddle = new QTextEdit(QObject::tr("中间部件"),splitterRight);textMiddle->setAlignment(Qt::AlignCenter);QTextEdit *textBottom = new QTextEdit(QObject::tr("底部部件"),splitterRight);textBottom->setAlignment(Qt::AlignCenter);splitterMain->setStretchFactor(1,1);splitterMain->setWindowTitle(QObject::tr("分割窗口"));splitterMain->show();return a.exec();
}

3.  点击运行按钮,效果图如下:

程序中的部分函数讲解:

1.  QFont font("ZYSong18030" , 12);     a.setFont(font);  这两句代码用于指定显示的字体。

我也可以根据需要,这样来写: QFont font("楷体" , 18,QFont::Bold);   a.setFont(font);   此时便是楷体字体,字号为18,粗体显示。

效果如下:

2.  QSplitter *splitterMain = new QSplitter(Qt::Horizontal, 0);    新建一个QSplitter类对象,作为主分割窗口,并且设定此窗口为水平分割窗口。

QTextEdit *textLeft = new QTextEdit(QObject::tr("左部件"),splitterMain);    新建一个QTextEdit类对象,并将其插入主分割窗口。

textLeft->setAlignment(Qt::AlignCenter);    设置TextEdit对象中文本的对齐方式。

水平对齐方式有:
Constant                   Value            Description
Qt::AlignLeft            0x0001           Aligns with the left edge.
Qt::AlignRight          0x0002          Aligns with the right edge.
Qt::AlignHCenter     0x0004          Centers horizontally in the available space.
Qt::AlignJustify        0x0008          Justifies the text in the available space.

垂直对齐方式有:
Constant                   Value       Description
Qt::AlignTop             0x0020     Aligns with the top.
Qt::AlignBottom        0x0040     Aligns with the bottom.
Qt::AlignVCenter      0x0080     Centers vertically in the available space.
Qt::AlignBaseline     0x0100     Aligns with the baseline.

QSplitter *splitterRight = new QSplitter(Qt::Vertical, splitterMain);    新建一个QSplitter类对象,作为右分割窗口,并以主分割窗口作为父窗口。设定分割窗口为垂直分割窗口。

3.  splitterRight->setOpaqueResize(true);  设定在拖拽分割条时,是否实时更新。若为true,则实时更新;否则在拖拽时显示一条虚线。

splitterRight->setOpaqueResize(true);效果如下:(注意观察分割条的颜色)

splitterRight->setOpaqueResize(false);效果如下:(注意观察分割条的颜色)

4.  splitterMain->setStretchFactor(1,1);  此函数用于设定:控件是否可伸缩。第一个参数用于指定控件的序号。第二个函数大于0时,表示控件可伸缩,小于0时,表示控件不可伸缩。

splitterMain->setStretchFactor(1,1); 效果如下:(注意观察中间的垂直分割条)

splitterMain->setStretchFactor(1,0); 效果如下:(注意观察中间的垂直分割条)

qt 分裂器的使用相关推荐

  1. 一文读懂qt界面设计(分裂器,布局,拉伸,各种属性设置)

    可以先看看我这个文章:qt关于界面设计中的一些知识总结_我是标同学的博客-CSDN博客_qt 水平伸展 现在我们来正式开始讲解. 布局种类 qt中能称为布局管理器的有如下6个: 水平布局(QHBoxL ...

  2. qtextedit 默认文案_QT-纯代码控件-QSplitter(分裂器)

    版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_41488943/article/de ...

  3. the cdb terminated,Qt调试器问题

    the cdb terminated,Qt调试器问题 没有找到原因:只是把头文件,静态库,动态库都添加进来,后面就可以调试了, the cdb terminated,Qt调试器问the cdb ter ...

  4. Qt调试器出现:the selected debugger may be inappropriate for the inferior的解决方案

    问题 Qt调试器出现报错: the selected debugger may be inappropriate for the inferior 解决方案: Qt在调试的过程中出现上述异常,是因为没 ...

  5. Qt视频播放器[QMediaPlayer+QVideowidget]

    目录 参考 一.安装K-Lite 解码器 二.Qt代码结构 VideoPlayer.pro main.cpp videoplayer.h 播放器 videoplayer.cpp 播放器 videopl ...

  6. QT 笔记3 | Qt设计师使用 Qt创造器使用

    六. Qt设计师使用(designer) 案例1:使用设计师重构加法计算器 1 创建工程目录 mkdir Calculator2 2 进入工程目录,执行"designer"启动设计 ...

  7. Qt学习day03 Qt设计师(designer) Qt创造器(qtcreator)

    一 Qt设计师(designer) 案例:使用qt设计,重构加法计算器 1 创建工程目录 mkdir Calculator2 2 进入工程目录,输入"designer"启动设计师 ...

  8. (Qt)记一次Qt安装器卡死的问题

    今天想补充安装QChart,熟练的打开Qt安装目录下的安装器,发现点击安装器界面老是卡死,一脸懵逼,又把Qt卸载重装,一样的,后来百度发现是有道词典导致Qt安装器卡死,退出,就可以了.大写的服,如果没 ...

  9. 让你分分钟学会qt视频播放器

    话不多说先上图: 实现了一个基本的播放器的例子,实现出最近本的项目,项目比较基础,喜欢的朋友,可呀通过这些简单的例子,实现更为复杂的视屏播放器,比如一些客户端. 不多说了来看看代码吧: 工程文件使用的 ...

最新文章

  1. 【Qt】qss样式表之:自定义属性实现动态切换样式
  2. MITOS|线粒体在线注释网站
  3. 《剑指offer》-左旋转字符串
  4. 在WINCE5.0开始菜单中添加应用程序
  5. 直播 | EMNLP 2020论文解读:从上下文学习还是从实体名字学习?
  6. free技术详解 lock_lock free的理解
  7. 微服务指南走北(五):什么样的服务才可以说是微服务?
  8. Tomcat配置https访问SSL证书(pfx文件)
  9. wine: Unhandled page fault on read access to 0x00000000 at address 0x10b1fb8
  10. 网络事件触发自己主动登录
  11. nginx 启动命令_Windows环境下将Nginx安装到服务中的方法
  12. flask(五) cookie 和session
  13. 求最大子数组(贪心算法)
  14. 我国资本市场程序化交易的风险控制策略
  15. 电脑设备打印机驱动安装失败如何解决
  16. cadence SPB17.4 - orcad - 层次原理图
  17. 基本标示符-宏-编译连接
  18. 【STM32】基础知识 第十课 CubeMx
  19. Fone Keeper Mac版,帮你轻松恢复iOS数据
  20. 找工作就上智联,效果真快,然而让我去的公司都是泡我呢

热门文章

  1. MATLAB 的绘图:二维和三维
  2. uniapp ui框架——uView
  3. Qt 在线安装程序出现网络错误
  4. 红色警戒2+尤里的复仇,带完整音乐+影片,免安装版本
  5. 硅谷的故事:关于硅谷的学术研究
  6. 【游记】ZJOI2017 Day1 #3
  7. Android OkHttp + Glide + RecyclerView + ButterKnife流行框架的综合实现
  8. 手机浏览器,html页面自动缩放
  9. 医药保健品行业CRM应用
  10. 鉴源论坛 ·观擎丨民机机载软件的开发与验证