Qt工作笔记-Windows上界面滑动效果
运行截图如下:
源码如下:
widget.h
#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>QT_BEGIN_NAMESPACE
class QMouseEvent;
class QPropertyAnimation;
QT_END_NAMESPACEnamespace Ui {
class Widget;
}class Widget : public QWidget
{Q_OBJECTpublic:explicit Widget(QWidget *parent = 0);~Widget();protected:void mouseMoveEvent(QMouseEvent *event) Q_DECL_OVERRIDE;void showWidget();void hideWidget();private:Ui::Widget *ui;QPropertyAnimation *m_showAnimation;bool m_isAnimation;bool m_isShow;
};#endif // WIDGET_H
main.cpp
#include "widget.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();return a.exec();
}
widget.cpp
#include "widget.h"
#include "ui_widget.h"
#include <QMouseEvent>
#include <QPropertyAnimation>
#include <QMetaProperty>
#include <QDebug>Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);ui->leftWidget->setMaximumWidth(0);setMouseTracking(true);this->setWindowTitle("CSDN IT1995");m_showAnimation = new QPropertyAnimation(ui->leftWidget, "minimumWidth");m_isAnimation = false;m_isShow = false;
}Widget::~Widget()
{delete ui;
}void Widget::mouseMoveEvent(QMouseEvent *event)
{if(m_isAnimation)return;qDebug()<< event->pos();if(event->pos().x() < 100 && !m_isShow){m_isShow = true;m_isAnimation = true;qDebug()<< "show";showWidget();}else if(event->pos().x() > 100 && m_isShow){m_isAnimation = true;qDebug()<< "hide";hideWidget();m_isShow = false;}m_isAnimation = false;
}void Widget::showWidget()
{m_showAnimation->setDuration(1000);m_showAnimation->setStartValue(0);m_showAnimation->setEndValue(100);m_showAnimation->start();
}void Widget::hideWidget()
{m_showAnimation->setDuration(1000);m_showAnimation->setStartValue(100);m_showAnimation->setEndValue(0);m_showAnimation->start();
}
Qt工作笔记-Windows上界面滑动效果相关推荐
- C++|Qt工作笔记-Windows平台下的句柄与Qt中QWindow::winId()以及 QPlatformWindow::handle的区别与联系
具体是这样的,当创建一个Qt窗口,调用window->winId()与window->handle()后,运行截图如下: 此时可以看到,这个窗口的handle为0x1e78de38 win ...
- Qt工作笔记-Linux上字体问题,导致所有文字重叠在一起
目录 基本概念 错误演示以及解决办法 基本概念 这个问题在Linux上出现好几次了,今天提取出来,方便以后查阅. 错误演示以及解决办法 如下界面: 两个ComboBox的字体是这样的: 和 程序运行如 ...
- Qt工作笔记-html做界面时,QFileInfo小技巧,获取前端页面
目录 背景 演示及代码 总结 背景 有的时候要调用三方的库,能够比较简单的实现一些酷炫的效果.这里特别是前端的酷炫效果! 如果在Qt中,某个地方,能小范围使用前端Qt的效果,辣么,将会是一个多么有意思 ...
- Android 应用开发----7. ViewPager+Fragment一步步打造顶部导航界面滑动效果
ViewPager+Fragment一步步打造顶部导航界面滑动效果 在许多应用中,我们常常用到这么一个效果: 可以看到,由于现在的应用数据经常需要涉及到多个模块,所以常常需要使用滑动标签在多个页面之间 ...
- 【Qt开发】Qt Creator在Windows上的调试器安装与配置
Qt Creator在Windows上的调试器安装与配置 如果安装Qt时使用的是Visual Studio的预编译版,那么很有可能就会缺少调试器(Debugger),而使用MSVC的Qt对应的原生调试 ...
- Qt工作笔记-发送端发送Json格式的数据包,接收端解析数据包
原理以及运行 原理是因为QJsonDocument提供了一个函数toJson 可以直接把Json数据转成QByteArray,这样就可以直接发送数据包,然后再按照常规方法解析即可,本源码中含解析内容, ...
- android+qq底部界面,Android 高仿QQ 界面滑动效果
Android高仿QQ界面滑动效果 点击或者滑动切换画面,用ViewPager实现, 首先是布局文件: android:layout_width="match_parent" an ...
- python泡泡_Python实现Windows上气泡提醒效果的方法
本文实例讲述了Python实现Windows上气泡提醒效果的方法.分享给大家供大家参考.具体实现方法如下: # -*- encoding: gbk -*- import sys import os i ...
- Qt工作笔记-使用QpropertyAnimation实现控件上下滑动的效果
目录 基本要求 源码 基本要求 这里其实还有一种方法,使用QTimeLine同样可以实现QpropertyAnimation的效果!这个没给出滑动的效果,但给出一个渐变的效果,连接如下所示: http ...
最新文章
- 学python的游戏app_Python教学软件
- Xcode 环境变量(绝对路径与相对路径)
- 模拟STL链表类的实现
- python 笔记:爱因斯坦求和 einsum
- 打破技术型思维:产品经理的门槛在门里面
- Oracle 10G select工作原理
- Exchange2010恢复已禁用邮箱后用户登录会出错
- ofbiz中的数据模型
- linux入门_Linux超详细0基础入门篇(一)
- VMware配置额外内存设置
- Selective Search for Object Recoginition(转)
- tomcat 严重: Could not contact localhost:8005. Tomcat may not be running.
- 中国银联:金融概述、收单和清算、代收代付
- java 8 解析英文月份,英文星期等
- ​信息管理系统整合XtraReport报表平台之Asp.Net Core站点CentOS部署​
- 【配电网重构】基于粒子群算法实现最小化功率损耗的配电网重构附matlab代码
- 2022届互联网校招薪资开奖,拼多多最高年薪 75 万!
- Keystone安装配置
- “胜兵先胜而后求战,败兵先战而后求胜”—系统分析师考试经验谈
- yara 模式匹配 android,YARA――恶意软件模式匹配利器