类QQ右下角弹出框(Qt)
2019独角兽企业重金招聘Python工程师标准>>>
使用Qt写的类QQ右下角弹出框
/***main.cpp
*/
#include <QtGui/QApplication>
#include "dialog.h"int main(int argc, char *argv[])
{QApplication a(argc, argv);Dialog w;w.show();return a.exec();
}/***dialog.h
*/
#ifndef DIALOG_H
#define DIALOG_H#include <QDialog>
#include <QDesktopWidget>
#include <QPropertyAnimation>
#include <QPoint>
#include <QTimer>namespace Ui {
class Dialog;
}class Dialog : public QDialog
{Q_OBJECTpublic:explicit Dialog(QWidget *parent = 0);~Dialog();private:Ui::Dialog *ui;QDesktopWidget desktop;QPropertyAnimation* animation;QTimer *remainTimer;void showAnimation();
private slots:void closeAnimation();void clearAll();
};#endif // DIALOG_H/***
dialog.cpp
*/#include "dialog.h"
#include "ui_dialog.h"
#include <QDebug>Dialog::Dialog(QWidget *parent) :QDialog(parent),ui(new Ui::Dialog)
{ui->setupUi(this);this->setWindowFlags(Qt::FramelessWindowHint); //隐藏菜单栏this->move((desktop.availableGeometry().width()-this->width()),desktop.availableGeometry().height());//初始化位置到右下角showAnimation(); //开始显示右下角弹出框
}Dialog::~Dialog()
{delete ui;
}
//弹出动画
void Dialog::showAnimation(){//显示弹出框动画animation=new QPropertyAnimation(this,"pos");animation->setDuration(2000);animation->setStartValue(QPoint(this->x(),this->y()));animation->setEndValue(QPoint((desktop.availableGeometry().width()-this->width()),(desktop.availableGeometry().height()-this->height())));animation->start();//设置弹出框显示2秒、在弹回去remainTimer=new QTimer();connect(remainTimer,SIGNAL(timeout()),this,SLOT(closeAnimation()));remainTimer->start(4000);//弹出动画2S,停留2S回去
}
//关闭动画
void Dialog::closeAnimation(){//清除Timer指针和信号槽remainTimer->stop();disconnect(remainTimer,SIGNAL(timeout()),this,SLOT(closeAnimation()));delete remainTimer;remainTimer=NULL;//弹出框回去动画animation->setStartValue(QPoint(this->x(),this->y()));animation->setEndValue(QPoint((desktop.availableGeometry().width()-this->width()),desktop.availableGeometry().height()));animation->start();//弹回动画完成后清理动画指针connect(animation,SIGNAL(finished()),this,SLOT(clearAll()));
}
//清理动画指针
void Dialog::clearAll(){disconnect(animation,SIGNAL(finished()),this,SLOT(clearAll()));delete animation;animation=NULL;
}
转载于:https://my.oschina.net/geekice/blog/162486
类QQ右下角弹出框(Qt)相关推荐
- jquery 实现仿QQ右下角弹出框
js代码: <script type="text/javascript" src="script/jquery-1.3.1.min.js">< ...
- wpf 点击按钮弹出选择框_WPF-PopupWindow wpf右下角弹出框,通过按钮调用,类似QQ CSharp C#编程 238万源代码下载- www.pudn.com...
文件名称: WPF-PopupWindow下载 收藏√ [ 5 4 3 2 1 ] 开发工具: C# 文件大小: 90 KB 上传时间: 2013-07-24 下载次数: 19 详细说明:w ...
- 如何阻止QQ右下角弹出新闻框
如何阻止QQ右下角弹出新闻框 http://hi.baidu.com/liarbin/item/055858d94a674ff8ca0c3947 一.去除腾讯迷你首页: 方法一.最简单.彻底的方法(即 ...
- python任务栏通知区域_python+pyqt实现右下角弹出框
本文实例为大家分享了pyqt实现右下角弹出框的具体代码,供大家参考,具体内容如下 构造函数中: self.desktop=QDesktopWidget() self.move((self.deskto ...
- python右下角弹窗_python+pyqt实现右下角弹出框
本文实例为大家分享了pyqt实现右下角弹出框的具体代码,供大家参考,具体内容如下 构造函数中: self.desktop=QDesktopWidget() self.move((self.deskto ...
- php右小角弹出框,HTML+Javascript实现右下角弹出框
效果视图: 分享代码:HTML> 右下角广告弹出框 display: block;border-radius: 4px;box-shadow: none;z-index: 999;padding ...
- winfrom下,如何实现类似QQ右下角弹出新闻
http://www.codeproject.com/KB/miscctrl/taskbarnotifier.aspx http://www.codeproject.com/KB/dialog/ ...
- qt自定义按钮类,每个按钮自带一个右键弹出框,如何使同一时刻只显示一个弹出框
提要 继承于QPushButton的自定义按钮类,其右键弹出一个弹框,创建多个这样的自定义按钮在窗口中,每一时刻只显示一个右键弹出框,避免同一时刻,多个按钮右键弹出弹出框后,未及时关闭弹出框导致的同一 ...
- asp.net 页面右下角弹出类似QQ或MSN的消息提示
<HTML><HEAD> <TITLE>网页特效观止|JsCode.CN|---页面右下角弹出类似QQ或MSN的消息提示</TITLE> <SCR ...
最新文章
- linux redis 删除_Redis-安装amp;删除【Linux 版】
- 【效率】推荐10个堪称神器的网站!
- indices should be one-based and in ascending order
- java冒泡测试代码,冒泡排序(java可直接跑,算法思想等小儿科不多说直接上代码)...
- 7z001怎么解压在安卓手机上面_安卓zip文件压缩RAR解压手机下载-安卓zip文件压缩RAR解压v1.0最新版下载...
- php语言输出九九乘法表_PHP 输出九九乘法表
- java接口对接——别人调用我们接口获取数据
- C++ 链表结构的常用操作(单链表)
- textbox 下拉模糊查询ajax,Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中...
- 乡镇医院计算机管理,乡镇卫生院管理系统
- 微信小程序实时定位的要做的那些事,你学废了吗?(附示例)
- [3D图形学]视锥剔除入门(翻译)
- 六个免费的虚拟主机管理系统
- 初识JavaScript,体验JS的美好
- 市值4000亿,超越京东小米!8年奋斗狂奔美团终于上市了
- 汽车网络安全之——CAN网关测试
- c语言打印出水花数,四叶玫瑰数,五角星数等等的数字
- 离散傅里叶(DFT) 与 快速傅里叶(FFT)
- python3 中__dict__的用法
- 计算机类实用新型专利,计算机机箱小物件类职称用实用新型专利办理评职称专...