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

  • 相关阅读:
    【转】Quartz企业作业调度配置参考
    [转]quartz中参数misfireThreshold的详解
    【转】MFC下拉框使用方法
    MFC中使用tinyxml
    【转】MYSQL中复制表结构的几种方法
    C++错误:重定义 不同的存储类
    【转】vbsedit提示“无法创建空文档”解决办法
    wordbreak和wordwrap
    css字体font
    js和jquery书籍
  • 原文地址:https://www.cnblogs.com/findumars/p/5574475.html
Copyright © 2011-2022 走看看