Qt 代码: Qt布局与分割器QSplitter

发布时间:2024-01-06 19:30

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);
}



阅读(6) | 评论(0) | 转发(0) |
0

上一篇: Qt 代码: 子窗口调用父窗口

下一篇:Qt 技巧: 解决未解析的SSL问题

相关热门文章
  • 鲜为人知的win8文件备份新方式...
  • 浅谈企业搬迁所得税的测算及其...
  • 远东控股集团:廿年飞速发展 ...
  • 世邦魏理仕专家解读北京工业物...
  • 快递巨头争夺细分市场...
  • test123
  • 编写安全代码——小心有符号数...
  • 使用openssl api进行加密解密...
  • 一段自己打印自己的c程序...
  • sql relay的c++接口
    给主人留下些什么吧!~~
    评论热议

    ItVuer - 免责声明 - 关于我们 - 联系我们

    本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

    桂ICP备16001015号