QSplitter实现自由伸缩滑动窗口部件(要在m_pSplitter中加入frame_4之前,给frame_4设置样式;之后设置无效)
实现代码如下:
#include <QSplitter>
QSplitter *m_pSplitter;
- m_pSplitter = new QSplitter(ui->frame_2);
- //将Splitter放在UI的frame_2中;
- m_pSplitter->setGeometry(ui->frame_2->x(),ui->frame_2->y(),ui->frame_2->window()->width(),ui->treeWidget->window()->height());
- m_pSplitter->addWidget(ui->treeWidget);
- QPalette palette;
- palette.setBrush(ui->frame_4->backgroundRole(),QBrush(QPixmap("./images/background_main.png")));
- ui->frame_4->setPalette(palette);
- ui->frame_4->setAutoFillBackground(true);
- //要在m_pSplitter中加入frame_4之前,给frame_4设置样式;之后设置无效;
- m_pSplitter->addWidget(ui->frame_4);
- m_pSplitter->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
- m_pSplitter->setStyleSheet("QSplitter::handle { background-color: grey }"); //设置分界线的样式
- m_pSplitter->setHandleWidth(1); //设置分界线的宽度
- // m_pSplitter->setStretchFactor(0, -2);
- // m_pSplitter->setStretchFactor(1, -4);
这样可以手动拖来改变窗体部件的宽度。
改变主窗体大小时,加入下面函数,可以自适应窗体:
- void MainWindow::paintEvent(QPaintEvent *)
- {
- m_pSplitter->setGeometry(0,0,ui->frame_2->window()->width(),ui->treeWidget->window()->height());
- }
但想在分界线处加一个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设置样式;之后设置无效)的更多相关文章
- Qt浅谈之四十五QSplitter实现自由伸缩滑动窗口
一.简介 最近看到一篇Qt实现伸缩滑动的窗口的文章,但其代码不完整.便在此重新书写了完整的代码,并开源出来.窗口的中央有滑动条可以动态改变子窗口的大小,隐藏的按钮可以快速伸缩子窗口.其效果图如下: 二 ...
- Qt入门(19)——自定义窗口部件
我们介绍可以画自己的第一个自定义窗口部件.我们也加入了一个有用的键盘接口.我们添加了一个槽:setRange(). void setRange( int minVal, int maxV ...
- C++框架_之Qt的窗口部件系统的详解-上
C++框架_之Qt的窗口部件系统的详解-上 第一部分概述 第一次建立helloworld程序时,曾看到Qt Creator提供的默认基类只有QMainWindow.QWidget和QDialog三种. ...
- pipelinedb--流、滑动窗口测试
https://blog.csdn.net/liuxiangke0210/article/details/74010951 https://yq.aliyun.com/articles/166 一.p ...
- TCP滑动窗口协议
TCP的首部中有一个很重要的字段就是16位长的窗口大小,它出现在每一个TCP数据报中,配合32位的确认序号,用于向对端通告本地socket的接收窗口大小.也就是说,如果本地socket发送一个TCP ...
- 洛谷P1886滑动窗口
题目传送门 理解题意:给定一个数列和窗口范围k,求依次向右移动窗口时每次窗口内的最大和最小值. 没什么思维难度,一边扫过去,用两个数组maxx和minn记录每个窗口内的最大最小值,移动过程中用两个变量 ...
- TCP之四:TCP 滑动窗口协议 详解
滑动窗口机制 滑动窗口协议的基本原理就是在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,称为发送窗口:同时,接收方也维持了一个连续的允许接收的帧的序号,称为接收窗口.发送窗口和接收窗口的序号的 ...
- AcWing 154. 滑动窗口 单调队列
地址 https://www.acwing.com/problem/content/description/156/ 输入格式 输入包含两行. 第一行包含两个整数n和k,分别代表数组长度和滑动窗口的长 ...
- 计算机网络(八),TCP的滑动窗口
目录 1.RTT和RTO 2.TCP使用滑动窗口做流量控制与乱序重排 3.滑动窗口的基本原理 八.TCP的滑动窗口 TCP头部中的窗口字段:滑动窗口大小,用来告知发送端接受端的缓存大小,以此控制发送端 ...
随机推荐
- 结构体什么时候用.什么时候用->
- 读Effective Objective-C [提高OC代码质量总结笔记第一篇:熟悉OC]
一.OC特性 OC 为 C 语言添加了面向对象特性,是其超集; OC 使用动态绑定的消息结构,也就是,在运行时才会检查对象类型; 接收一条消息后,究竟应执行何种代码,由运行期环境来决定,而非 编译器; ...
- Java 学习(21):Java 实例
Java 实例 本章节我们将为大家介绍 Java 常用的实例,通过实例学习我们可以更快的掌握 Java 的应用. Java 环境设置实例 //HelloWorld.java 文件 public cla ...
- hadoop一些常见报错的解决方式
Failed to set setXIncludeAware(true) for parser 遇到此问题通常是jar包冲突的问题. 一种情况是我们向java的lib文件夹加入我们自己的jar包导致h ...
- CentOS 7开放端口和关闭防火墙
开放端口 永久的开放需要的端口 sudo firewall-cmd --zone=public --add-port=3000/tcp --permanent sudo firewall-cmd -- ...
- RandomStringUtils RandomUtils
上一篇是StringUtils 链接http://www.cnblogs.com/tele-share/p/8060129.html 1.RandomStringUtils 1.1模拟实现random ...
- C# WebQQ协议群发机器人(一)
原创性申明 本文地址 http://blog.csdn.net/zhujunxxxxx/article/details/38931287 转载的话请注明出处. 之前我也写过一篇使用python来实现的 ...
- jquery pagination分页的两种实现方式
原文链接:http://blog.csdn.net/qq_37936542/article/details/79457012 此插件是jQuery的ajax分页插件.如果你用到此插件作分页的时候,涉及 ...
- NSString与int和float的相互转换
NSString *tempA = @"123"; NSString *tempB = @"456"; 1,字符串拼接 NSString *newString ...
- tip of Firefox extention foxyproxy
tip of Firefox extention foxyproxy