zoukankan      html  css  js  c++  java
  • Qt基本布局(QLayout)

    概述

    Qt提供了QHBoxLayout类(水平排列布局),QVBoxLayout类(垂直排列布局),QGridLayout类(网格排列布局)等基本布局管理。它们之间的继承关系如下图

    布局中常用的方法有addWidget()和addLayout()

    addWidget()方法用于加入需要布局的控件
    
    void addWidget
    (
        QWidget *widget,  //需要插入的控件对象
        int fromRow,  //插入的行
        int fromColum, //插入的列
        int rowSpan, //表示占用的行数
        int columSpan,  //表示占用的列数
        Qt::Alignment alignment=0  //描述各个控件的对齐方式
    ) 
    
    
    addLayout()方法用于加入子布局
    
    void QGridLayout::addLayout
    (
        QLayout *layout,  //表示需要插入的子布局对象 
        int row,   //插入的起始行
        int column,   //插入的起始列
        int rowSpan,  //表示占用的行数
        int columSpan.  //表示占用的列数
        Qt::Alignment alignment = Qt::Alignment()  //指定对齐方式
    )
    
    

    注意1

    LeftLayout=new QGridLayout();  //由于LeftLayout布局管理器不是主布局管理器,所以不用指定父窗口
    QGridLayout *mainLayout=new QGridLayout(this);  //mainLayout实现主布局,所有要指定父窗口
    

    注意2
    QHBoxLayout默认采取的是以自左向右的方式顺序排列插入控件或子布局,也可以通过setDirection()方法设定排列的顺序,如

    TopRightLayout->setDirection(QBoxLayout::RightToLeft);
    

    QVBoxLayout默认采取的是以自上而下的方式顺序插入控件和子布局,也可以通过调用setDirection()方法设定排列的顺序
    注意3
    QHBoxLayout是水平布局,可以设定水平各个控件之间的间距

    TopRightLayout=new QHBoxLayout();
    TopRightLayout->setSpacing(20);  //设定各个控件之间的间距为20
    
  • 相关阅读:
    Unity3d:Unknown type 'System.Collections.Generic.CollectionDebuggerView'1
    Unity3d:The requested item has been unloaded
    installshield 注册dll
    sql查找字符串是否包含字符
    asp获取勾选checkbox的值
    Pyqt5.2.1生成的.ui文件转换成.py
    scrapy爬虫的编写步骤
    IBM MQ 集成CXF 发送JMS 消息
    io输出流变为输入流
    hibernate flush clear的区别
  • 原文地址:https://www.cnblogs.com/Manual-Linux/p/9314402.html
Copyright © 2011-2022 走看看