分割窗口QSplitter类---布局管理(一)

从今天开始Mayuyu要学习QT了,Mayuyu是一个很爱美的姑娘,所以为了能给设计出美观的图形界面,Mayuyu一定

会努力的!

今天Mayuyu要讲的是布局管理中的分割窗口类QSplitter,分割窗口,顾名思义就是把窗口分割成一个一个小块。

比如要实现一个简单的窗口,如下图:

这个窗体有3部分,那么写出如下代码:

#include "widget.h"
#include <QApplication>
#include <QSplitter>
#include <QTextEdit>
#include <QTextCodec>

int main(int argc, char** argv)
{
    QApplication a(argc, argv);
    QFont font("ZYSong18030",12);
    a.setFont(font);
    QSplitter *splitterMain = new QSplitter(Qt::Horizontal,0);
    QTextEdit *textLeft = new QTextEdit(QObject::tr("Left Widget"), splitterMain);
    textLeft->setAlignment(Qt::AlignCenter);
    QSplitter *splitterRight = new QSplitter(Qt::Vertical, splitterMain);
    splitterRight->setOpaqueResize(false);
    QTextEdit *textUp = new QTextEdit(QObject::tr("Top Widget"), splitterRight);
    textUp->setAlignment(Qt::AlignCenter);
    QTextEdit *textBottom = new QTextEdit(QObject::tr("Bottom Widget"), splitterRight);
    textBottom->setAlignment(Qt::AlignCenter);
    splitterMain->setStretchFactor(1,1);
    splitterMain->setWindowTitle(QObject::tr("Splitter"));
    splitterMain->show();
    return a.exec();
}

现在Mayuyu就来逐行解释:

第11和第12行是用来设置字体的。

第13行新建了一个QSplitter类对象,作为主分割窗口,设定为水平窗口。

第14行新建一个QTextEdit类对象,并将其插入主分割窗口中。

第15行设置TextEdit中文字对齐方式,常用的对齐方式主要有5种:

(1)Qt::AlignLeft   左对齐

(2)Qt::AlignRight  右对齐

(3)Qt::AlignCenter 居中对齐(Qt::AlignHCenter为水平居中,Qt::AlignVCenter为垂直居中)

(4)Qt::AlignUp     文字与顶端对齐

(5)Qt::AlignBottom 文字与底部对齐

第16行新建一个QSplitter类对象,作为右分割窗口,设定此分割窗口为垂直分割窗口,并以主分割窗口为父窗口

,在QSplitter(args1,args2)中的第一个参数主要有两个值,分别是Qt::Horizontal或者Qt::Vertical,

分别表示水平分割和垂直分割。第二个参数表示在哪个父窗口内分割,没有父窗口则此参数为0。

第17行中的setOpaqueResize(false)方法用于设定分割窗口的分割条在拖拽时是否是实时更新显示,若为

true,表示更新显示,否则为false则在拖拽时只显示一条灰色的粗线条,当拖拽到位并释放鼠标后再显示分割

条,默认情况值为true。

第22行很重要,setStretchFactor(args1,args2)方法用于设定可伸缩性控件,第一个参数用于设定控件序

号,从0开始顺次编号,第二个参数为大于0的数,表示此控件为可伸缩性控件,也就是说当鼠标在拉动边框时,可

伸缩性框会跟着鼠标放大。

嗯,到了这里Mayuyu基本把QSplitter类的内容讲完,剩下的靠Mayuyu多理解了。

分割窗口QSplitter类---布局管理(一)

时间: 2024-10-14 07:11:51

分割窗口QSplitter类---布局管理(一)的相关文章

分割窗口QSplitter类

概述 分割窗口QSplitter类在应用程序中经常用到,它可以灵活分割窗口的布局,经常用在类似文件资源管理器的窗口设计中 在Qt开发中,QSplitter是比较常用到的,也就是分割窗口.并且窗口分割处也就是QSplitter的handle是可以随意拖动的.这样,每个窗口的大小就可以按照自己的需要进行调整.QSplitter可以容纳其他Widget,具有布局一样的特性,但是又可以动态调整,可以说是动态布局特性,其内部的Widget可以自由伸缩. QSplitter有两种:垂直和水平. enum O

【Qt5开发及实例】3、布局管理之分割窗口QSplitter

首先看看目标效果 代码: #include "mainwindow.h" #include <QApplication> #include <QTextEdit> #include <QSplitter> #include <QTextCodec> int main(int argc, char *argv[]) { QApplication a(argc, argv); QFont font("ZYSong18030"

1.4 窗口部件的布局

Qt第一章的最后一个内容是部件的布局. 书中的例子用到了一个QHBoxLayout类 这个类能够将放置在布局内的控件自动调整大小和位置,我们不需要手动去调整,比较方便. 第10行:创建一个QWidget对象 QWidget是所有用户界面对象的基类.在这里将会用作其它部件的父对象,在这之上显示相应的控件.也就是说它将作为程序的主窗口. 第11行:设置窗口标题 字面意思上看也的确是设置窗口的标题. 第13行:创建一个QSpinBox对象 用到的函数:QSpinBox::QSpinBox ( QWid

Qt 布局管理器

在一个颜值当道的今天,无论买衣服,买车还是追星,颜值的高低已经变成了大家最看重的(不管男性女性都一样,千万别和我说你不是):而对于程序猿来说,开发一款软件,不再只注重逻辑和稳定性,美观和用户友好性也是我们不得不关注的一个重点了. 我们进入正题,今天主要和大家分享一下Qt方面关于布局管理器的使用: 一.基本概念   Qt 提供了几种在窗口部件上管理子窗口部件的基本方式.一共有3 种方法用于管理窗体上子窗口部件的布局:绝对位置法.人工布局法和布局管理器法.相比于使用固定尺寸和位置,布局提供了功能强大

Qt5布局管理(1)

1.分割窗口QSplitter (1)QSplitter的构造方法: QSplitter *splitterMain=new QSplitter(Qt::Horizontal,0); 第一个参数通过Qt::Horizontal 和 Qt::Vertical来设定为水平分割或垂直分割.第二个设定0代表是主窗口,无父窗口.将0替换为splitterMain时,代表是主窗口,子splitter就被添加到splitterMain中. 常用语句 ①设置拖动时是否实时更新: splitterRight->s

AWT和布局管理器

AWT(Abstract Window Toolkit)抽象窗口开发包 component:可以显示出来的与用户进行交互的图形元素 container:容纳其他component元素的容器:continer可以容纳component:所以container可以容纳container. continer对象可以使用add方法添加其他的component对象. 一般的component不能独立显示出来,必须放在某一continer对象中才可以显示出来 两种常用的container: 1.Window

Qt布局与分割器QSplitter

Qt的布局方式主要有四种: QGridLayout         栅格布局 QFormLayout       表格布局 QHBoxLayout       水平布局 QVBoxLayout       垂直布局 然而,只通过以上四种布局的组合似乎不太好用, 因此需要搭配分割器QSplitter, 在QSplitter中实现局部布局,最后再放进主布局中可以实现非常好的效果. /* *********************************************************

Android布局管理器-使用LinearLayout实现简单的登录窗口布局

场景 Android布局管理器-从实例入手学习相对布局管理器的使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103838924 线性布局LinearLayout,分为水平和垂直线性布局. 实现效果如下 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 将activity修改为LinearLayout

PyQt5教程——布局管理(4)

PyQt5中的布局管理 布局管理是GUI编程中的一个重要方面.布局管理是一种如何在应用窗口上防止组件的一种方法.我们可以通过两种基础方式来管理布局.我们可以使用绝对定位和布局类. 绝对定位 程序指定了组件的位置并且每个组件的大小用像素作为单位来丈量.当你使用了绝对定位,我们需要知道下面的几点限制: 如果我们改变了窗口大小,组件的位置和大小并不会发生改变. 在不同平台上,应用的外观可能不同 改变我们应用中的字体的话可能会把应用弄得一团糟. 如果我们决定改变我们的布局,我们必须完全重写我们的布局,这