zoukankan      html  css  js  c++  java
  • Qt布局与分割器QSplitter

    Qt的布局方式主要有四种:
     
    QGridLayout         栅格布局
    QFormLayout       表格布局
    QHBoxLayout       水平布局
    QVBoxLayout       垂直布局
     
    然而,只通过以上四种布局的组合似乎不太好用, 因此需要搭配分割器QSplitter, 在QSplitter中实现局部布局,最后再放进主布局中可以实现非常好的效果.
     
    /*
     ******************************************************************
     * 函数名称 : initLayout
     * 函数功能 : 初始化窗口布局
     * 函数参数 : 无
     * 返回值 : 无
     ******************************************************************
     */
    void QFriendManager::initLayout()
    
    {
    
         //创建主布局VBoxLayout
         QVBoxLayout *mainLayout = new QVBoxLayout();
    
    
    
    
    
    
    
         //创建主Splitter
         QSplitter *splitterMain = new QSplitter(Qt::Vertical, this);
    
    
    
    
    
    
    
         //添加标题标签和表格部件到主Splitter
         tableWidget = new QTableWidget(splitterMain);
    
         tableWidget->setMinimumHeight(120);
    
    
    
    
    
    
    
         //创建底部工具栏Splitter,父亲为主Splitter
         QSplitter *splitterBottom = new QSplitter(Qt::Horizontal, splitterMain);
    
         check_selectAll = new QCheckBox(QObject::tr("全选"), splitterBottom);
    
         pb_delete = new QPushButton(QObject::tr("删除"), splitterBottom);
    
         pb_find = new QPushButton(QObject::tr("查找"), splitterBottom);
    
         le_find = new QLineEdit(splitterBottom);
    
         check_selectAll->setFixedSize(48, 32);
    
         pb_delete->setFixedSize(48, 32);
    
         pb_find ->setFixedSize(48, 32);
    
    
    
    
    
    
    
         //禁用Splitter拉伸效果
         splitterMain->handle(1)->setDisabled(true);
    
          splitterBottom->handle(1)->setDisabled(true);
    
         splitterBottom->handle(2)->setDisabled(true);
    
         splitterBottom->handle(3)->setDisabled(true);
    
     
    
    
         //设置窗口边沿宽度
         mainLayout->setContentsMargins(2,5,2,5);
    
    
    
    
    
         //添加主Splitter到主布局VBoxLayout
         mainLayout->addWidget(splitterMain, 0);
    
         this->setLayout(mainLayout);
    
    }
    

    http://blog.csdn.net/jan5_reyn/article/details/38955709

  • 相关阅读:
    常用电子元器件及应用
    局域网传输-LED灯搭建局域网:数据传输可达每秒3Gb
    硬件设计原理图Checklist 参考案例二 【转载】
    基于LiFi可见光通信技术的研究及应用转化调查
    T&F 圆桌:儿童智能玩具离我们还有多远?
    一座金矿:数千亿规模智能玩具市场
    【Java】+ 图片与base64互转 + 字符串与base64互转
    【Java】+ 【wss】 + WebSocketClient
    【IDEA】+SVN
    【杂项】+事件管理之时间4象限
  • 原文地址:https://www.cnblogs.com/findumars/p/5574475.html
Copyright © 2011-2022 走看看