一、前言

  在实际的Qt界面布局设计中,特别是主界面中,经常会用到侧边栏的方式,然后在其中加入其他控件来复合使用,下面简单来实现一下Qt侧边栏的隐藏和显示,效果如下:

二、功能介绍

  界面控件很简单,主界面QWidget,侧边栏也用一个QWidget和一个按钮QPushbutton来进行组合。通过点击按钮来显示和隐藏侧边栏。主要用到的是控件的move()函数,配合QPropertyAnimation实现动画效果滑动显示隐藏。

三、源码

#include "widget.h"
#include "ui_widget.h"
#include <QPainter>#pragma execution_character_set("utf-8")Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget),m_bSideflag(false)
{ui->setupUi(this);//    this->setWindowFlags(Qt::FramelessWindowHint);//    ui->sidewidget->move(this->rect().width() - ui->sidewidget->width(),0); // 右侧停靠ui->sidewidget->move(-ui->sidewidget->width(),0);// 左侧停靠ui->pushButton->move(-1,ui->sidewidget->height()/2);ui->pushButton->setIcon(QIcon(":images/right.png"));m_propertyAnimation = new QPropertyAnimation(ui->sidewidget,"geometry");m_propertyAnimation->setEasingCurve(QEasingCurve::InOutQuint);m_propertyAnimation->setDuration(300);m_propertyAnimation2 = new QPropertyAnimation(ui->pushButton,"geometry");m_propertyAnimation2->setEasingCurve(QEasingCurve::InOutQuint);m_propertyAnimation2->setDuration(200);
}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_clicked()
{//显示侧边栏if(!m_bSideflag){m_propertyAnimation->setStartValue(QRect(-this->rect().width(),0,ui->sidewidget->width(),ui->sidewidget->height()));m_propertyAnimation->setEndValue(QRect(0,0,ui->sidewidget->width(),ui->sidewidget->height()));m_propertyAnimation->start();m_propertyAnimation2->setStartValue(QRect(-1,ui->sidewidget->height()/2,ui->pushButton->width(),ui->pushButton->height()));m_propertyAnimation2->setEndValue(QRect(ui->sidewidget->width()-2,ui->sidewidget->height()/2,ui->pushButton->width(),ui->pushButton->height()));m_propertyAnimation2->start();ui->pushButton->setIcon(QIcon(":images/left.png"));m_bSideflag = !m_bSideflag;}else{m_propertyAnimation->setStartValue(QRect(0,0,ui->sidewidget->width(),ui->sidewidget->height()));m_propertyAnimation->setEndValue(QRect(-this->rect().width(),0,ui->sidewidget->width(),ui->sidewidget->height()));m_propertyAnimation->start();m_propertyAnimation2->setStartValue(QRect(ui->sidewidget->width()-2,ui->sidewidget->height()/2,ui->pushButton->width(),ui->pushButton->height()));m_propertyAnimation2->setEndValue(QRect(-1,ui->sidewidget->height()/2,ui->pushButton->width(),ui->pushButton->height()));m_propertyAnimation2->start();ui->pushButton->setIcon(QIcon(":images/right.png"));m_bSideflag = !m_bSideflag;}
}

Qt界面之侧边栏隐藏和滑出相关推荐

  1. qt界面布局之使窗口显示出现在正中间位置

    一.进行界面布局的时候,往往需要将界面显示在整个桌面的中心位置,所以需要进行一下处理 二.加上头文件 #include <QDesktopWidget> #include <QApp ...

  2. linux qt应用程序全屏,QT在ubuntu下实现界面全屏,侧边栏隐藏,上边栏隐藏【实例】...

    最近做一个Qt项目(ubuntu 14.04),需要将界面全屏,全屏之后,ubuntu侧边栏隐藏,上边栏也隐藏,只显示Qt的界面. 那么先介绍几个函数: Qt全屏显示函数:showFullScreen ...

  3. jQuery学习笔记系列(一)——入口函数,jQuery对象和DOM对象,jQuery选择器、样式操作、效果(显示隐藏、滑入滑出、淡入淡出、自定义动画、停止动画队列)

    day01 - jQuery 学习目标: 能够说出什么是 jQuery 能够说出 jQuery 的优点 能够简单使用 jQuery 能够说出 DOM 对象和 jQuery 对象的区别 能够写出常用的 ...

  4. QT 界面_滑屏窗口管理器(功能)

    QT 界面_滑屏窗口管理器 Qt记述之路 _01 文章目录 QT 界面_滑屏窗口管理器 前言 一.功能 二.QStackedWidget是什么? 三.部分代码!!! 1.事件处理 2.标签绘制 总结 ...

  5. 在 jQuery 中使用滑入滑出动画效果,实现二级下拉导航菜单的显示与隐藏效果

    查看本章节 查看作业目录 需求说明: 在 jQuery 中使用滑入滑出动画效果,实现二级下拉导航菜单的显示与隐藏效果 用户将光标移动到"最新动态页"或"帮助查询" ...

  6. jquery效果 显示隐藏 滑入滑出

    jquery jquery效果 jquery 给我们封装了很多动画效果,最为常见的如下: 显示隐藏:show() / hide() / toggle() ; 滑入滑出:slideDown() / sl ...

  7. jq样式操作和效果(显示隐藏,滑入滑出,淡入淡出)

    jq样式操作和效果 1.样式 1.jq设置样式 $("div").css('属性','值'); 2.jq排他思想 //多选一.排他思想,当前元素设置样式,其与兄弟清除样式 $(th ...

  8. 纯css实现网页侧边栏弹窗滑进滑出

    目录 效果图 代码 这种效果在大多数网站中都是常见的,屏幕右边有一列列表,鼠标放上去之后,列表弹窗就从右边滑出,因为常用自己写一下方便以后直接使用. 效果图 代码 <div class=&quo ...

  9. 前端侧边栏的滑入滑出效果

    在使用element-ui的Drawer抽屉功能时达不到我想要的效果,手写一个原生的方法,实现点击按钮时使得div元素能够在页面滑入滑出. 1.页面元素简单,一个button,一个div即可: < ...

最新文章

  1. springboot springcloud 热部署
  2. 浅谈代码的执行效率(1):算法是关键
  3. BZOJ1795 : [Ioi2008]Pyramid Base 金字塔地基
  4. python多线程编程(1): python对多线程的支持
  5. 男性早孕-从软件与程序的区别说起
  6. hadoop fs 基本命令
  7. [Nowcoder] 大整数相乘(拼多多笔试题)
  8. JAVA并发包内容_java并发包
  9. python的pip_Python3中安装pip3
  10. Windows 11 即将发布,微软“强推” Edge 浏览器?
  11. L2-022 重排链表-PAT团体程序设计天梯赛GPLT
  12. Winform 初识记录
  13. Direct3D顶点结构使用总结
  14. 第六章-深入理解类(一)
  15. 魔兽世界服务器修改模型,《魔兽世界》魔兽世界修改模型攻略
  16. 使用WangEditor编辑器使用图片上传功能
  17. 可替换MPS MP2451的高压DCDC芯片FS2451助力智能电表设计40V0.5A降压IC
  18. 三维立体坐标系 html5,三维坐标系
  19. java文字手写识别_【手写文字识别】-JavaAPI示例代码
  20. 三个月来美国又有一万家餐馆因疫情倒闭或关闭;爱彼迎帮助在危机中的人寻找临时住宿 | 美通企业日报...

热门文章

  1. 企业为什么使用企业邮箱?为什么用腾讯企业邮箱?
  2. PF_RING 6.0.2发布
  3. 二代身份证读卡器接口函数Delphi声明
  4. 2020 必须收藏的vscode主题【清爽的前端配置 vue】
  5. 法和法律的概念、法的本质和特征(国家意志性、强制性 、利导性 、规范性)、法的形式 (宪法、法律、行政法规、地方性法规、自治法规、特别行政区法律、行政规章、国际条约)、法的分类(成文法和不成文法..)
  6. Maven慕课网学习笔记
  7. Android拼图滑块验证码控件
  8. 区块链技术如何为人工智能(AI)开辟新的道路?
  9. 采购订单的“确认”操作--一步与两步操作
  10. 滚雪球学 Python 第三轮,Python Web 之 Django 的世界