码迷,mamicode.com
首页 > 其他好文 > 详细

QSplitter实现自由伸缩滑动窗口部件(要在m_pSplitter中加入frame_4之前,给frame_4设置样式;之后设置无效)

时间:2017-10-20 19:59:24      阅读:607      评论:0      收藏:0      [点我收藏+]

标签:class   alt   实现   styles   add   arch   win   span   tle   

实现代码如下:

 

#include <QSplitter>
QSplitter *m_pSplitter;

 

 

 

[cpp] view plain copy
 
  1.     m_pSplitter = new QSplitter(ui->frame_2);  
  2.     //将Splitter放在UI的frame_2中;  
  3.     m_pSplitter->setGeometry(ui->frame_2->x(),ui->frame_2->y(),ui->frame_2->window()->width(),ui->treeWidget->window()->height());  
  4.   
  5.     m_pSplitter->addWidget(ui->treeWidget);  
  6.   
  7.     QPalette palette;  
  8.     palette.setBrush(ui->frame_4->backgroundRole(),QBrush(QPixmap("./images/background_main.png")));  
  9.     ui->frame_4->setPalette(palette);  
  10.     ui->frame_4->setAutoFillBackground(true);  
  11. //要在m_pSplitter中加入frame_4之前,给frame_4设置样式;之后设置无效;  
  12.     m_pSplitter->addWidget(ui->frame_4);  
  13.   
  14.     m_pSplitter->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);  
  15.   
  16.     m_pSplitter->setStyleSheet("QSplitter::handle { background-color: grey }"); //设置分界线的样式  
  17.   
  18.     m_pSplitter->setHandleWidth(1);      //设置分界线的宽度  
  19.   
  20. //    m_pSplitter->setStretchFactor(0, -2);  
  21. //    m_pSplitter->setStretchFactor(1, -4);  

 

这样可以手动拖来改变窗体部件的宽度。

改变主窗体大小时,加入下面函数,可以自适应窗体:

 

[cpp] view plain copy
 
  1. void MainWindow::paintEvent(QPaintEvent *)  
  2. {  
  3.     m_pSplitter->setGeometry(0,0,ui->frame_2->window()->width(),ui->treeWidget->window()->height());  
  4. }  

但想在分界线处加一个Button来实现自动缩放窗体部件,还不知道如何实现。

有一篇博文:http://www.cnblogs.com/appsucc/archive/2012/12/19/2825197.html

想实现那篇博文中的效果,却看不太明白,代码太残缺。

研究一下再记下详细笔记。

有人看懂那篇博文,知道如何实现用Button来自动伸缩滑动窗口的,希望可以与我交流下,谢谢!

http://blog.csdn.net/liukang325/article/details/23764949

QSplitter实现自由伸缩滑动窗口部件(要在m_pSplitter中加入frame_4之前,给frame_4设置样式;之后设置无效)

标签:class   alt   实现   styles   add   arch   win   span   tle   

原文地址:http://www.cnblogs.com/findumars/p/7701051.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!