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

  • 相关阅读:
    关于WPF程序引用(用到)的PresentationFramework.dll版本问题
    【转载】Jenkins在CentOS上安装部署
    关于2021/04/15实施3.0版本到中间层服务器发现IIS管理器的SVC无法浏览另类问题分析
    关于2021/03/02本地服务总线作业调度没起来问题分析
    【转】WCF服务部署到IIS7.5(备忘)
    Dapper参数化查询使用实例
    HIVE和HBASE区别
    Hadoop生态系统官网、下载地址、文档
    Hive中Sqoop的基本用法和常见问题
    读懂hadoop、hbase、hive、spark分布式系统架构
  • 原文地址:https://www.cnblogs.com/findumars/p/5574475.html
Copyright © 2011-2022 走看看