资源简介
vs2019+qt扩展模块 桌面精灵可以实现获取在桌面的位置,产生相应的变化,比如用鼠标将他拖到电脑屏幕边缘,会吸附到电脑边缘(其实就是换了一张图片,对窗口进行一些操作,比如动画、透明度调整),单击右键会出现菜单,点击菜单可以做一些事情。

代码片段和文件信息
#include “evle.h“
//记录上一时刻的坐标
QPoint lastPos;
int i = 1;
evle::evle(QWidget *parent)
: QWidget(parent)
{
label = new QLabel(this);
this->setAttribute(Qt::WA_TranslucentBackground true);
setWindowFlags(Qt::framelessWindowHint); //只是使窗口的标题栏隐藏
QPixmap pixw = QPixmap(“Resources/1.png“);
label->setPixmap(pixw);
label->resize(128128);
lastPos = this->pos();
}
evle::~evle() {}
void evle::mousePressEvent(QMouseEvent* event)
{
//pos()为局部坐标 globalPos()为全局坐标
if (event->button() == Qt::LeftButton)
{//左键拖动窗体
relativePos = this->pos() - event->globalPos();
}
if (event->button() == Qt::MidButton)
{
speak();
}
if (event->button() == Qt::RightButton)
{
QTextCodec* codec = QTextCodec::codecForName(“System“);
codec->setCodecForLocale(QTextCodec::codecForName(“UTF8“));
QAction* act_about = new QAction(codec->toUnicode(“关于“) this);
QAction* act_mainwindow = new QAction(codec->toUnicode(“打开主窗口“) this);
QAction* act_exit = new QAction(codec->toUnicode(“退出“) this);
Qobject::connect(act_about SIGNAL(triggered()) this SLOT(about_window()));
Qobject::connect(act_exit SIGNAL(triggered()) this SLOT(close()));
QMenu *menu = new QMenu(this);
menu->addAction(act_about); //添加菜单项1
menu->addAction(act_mainwindow);
menu->addAction(act_exit); //添加菜单项2
menu->exec(QCursor::pos());
}
}
void evle::mouseMoveEvent(QMouseEvent* event)//移动窗体
{
if (event->globalPos().x() < lastPos.x())
{
QPixmap pixw = QPixmap(“Resources/3.png“);
label->setPixmap(pixw);
}
else
{
QPixmap pixw = QPixmap(“Resources/2.png“);
label->setPixmap(pixw);
}
lastPos = event->globalPos();
this->move(event->globalPos() + relativePos);
}
void evle::enterEvent(QEvent*)
{
QRect rc;
QRect rect;
rect = this->geometry();
rc.setRect(rect.x() rect.y() rect.width() rect.height());
if (rect.top() < 0)
{
rect.setX(rc.x());
rect.setY(0);
move(rc.x() -2);
}
}
void evle::leaveEvent(QEvent*)
{
QRect rc;
QRect rect;
rect = this->geometry();
rc.setRect(rect.x() rect.y() rect.width() rect.height());
if (rect.top() < 0)
{
move(rc.x() -rc.height() + 2);
}
}
void evle::mouseReleaseEvent(QMouseEvent* event) //松开鼠标后自动贴边隐藏并且透明
{
QPropertyAnimation* pAnimation = new QPropertyAnimation(this “geometry“);
QDesktopWidget* pDesktopWidget = QApplication::desktop();//获得桌面
//窗口的宽和高
int tx = width();
int ty = height();
//QRect clientRect = desktopWidget->availableGeometry();得到相对于屏幕的绝对坐标
//QRect applicationRect = desktopWidget->screenGeometry();得到应用程序矩形
//获得屏幕宽度
int lx = pDesktopWidget->availableGeometry().width();
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2020-04-02 13:03 evle\
目录 0 2020-04-02 13:03 evle\evle\
文件 1070 2020-03-28 10:00 evle\evle.sln
文件 5724 2020-04-02 12:59 evle\evle\evle.cpp
文件 1106 2020-04-02 12:13 evle\evle\evle.h
文件 859 2020-04-01 20:41 evle\evle\evle.ui
文件 5194 2020-04-02 13:03 evle\evle\evle.vcxproj
文件 1608 2020-04-02 13:03 evle\evle\evle.vcxproj.filters
文件 168 2020-03-28 10:00 evle\evle\evle.vcxproj.user
文件 167 2020-03-28 10:00 evle\evle\main.cpp
目录 0 2020-04-01 21:37 evle\evle\Resources\
文件 13231 2013-08-02 14:19 evle\evle\Resources\1.png
文件 13244 2013-08-02 14:36 evle\evle\Resources\2.png
文件 13350 2013-08-02 14:36 evle\evle\Resources\3.png
文件 12253 2013-08-02 15:10 evle\evle\Resources\4.png
文件 14615 2020-04-01 20:29 evle\evle\Resources\4_2.png
文件 10318 2013-08-02 16:05 evle\evle\Resources\5.png
文件 16022 2013-08-02 16:00 evle\evle\Resources\6.png
文件 13349 2013-08-02 14:35 evle\evle\Resources\7.png
文件 19974 2020-04-01 21:37 evle\evle\Resources\8.png
文件 27317 2019-05-14 17:30 evle\evle\Resources\anniu.png
文件 695 2013-08-02 16:54 evle\evle\Resources\icon.png
文件 17551 2020-04-01 20:22 evle\evle\Resources\lazy.png
文件 13948 2013-08-02 14:43 evle\evle\Resources\shime10.png
文件 14448 2013-08-02 15:04 evle\evle\Resources\shime11.png
文件 12399 2013-08-02 15:12 evle\evle\Resources\shime13.png
文件 12253 2013-08-02 15:10 evle\evle\Resources\shime14.png
文件 14127 2013-08-02 15:26 evle\evle\Resources\shime15.png
文件 15218 2013-08-02 15:27 evle\evle\Resources\shime16.png
文件 18231 2013-08-02 15:28 evle\evle\Resources\shime17.png
文件 13718 2013-08-02 15:40 evle\evle\Resources\shime18.png
............此处省略31个文件信息
- 上一篇:统计计算-随机模拟法R语言
- 下一篇:wifi时钟.zip
相关资源
- mgn-mqt82.exe
- rdlc报表 完整
- Trojan-Qt5-Windows-0.0.4.rar
- vspd7.2.308.zip
- 酒店管理系统基于Qt Creator5)
- CVSNT 完整覆盖版防TortoiseCVS中文乱码
- VisualStudioUninstaller vs卸载工具
- vSphere6.06.56.7通用版注册机
- vtk QT做的三维地质可视化系统2of2
- ado数据库MFC图书管理系统vs2010
- Qt局域网聊天软件
- Qt Creator opengl实现四元数鼠标控制轨迹
- QT局域网聊天系统(基于QT5.修改过)
- qt-电子点菜系统
- C 餐厅叫号系统(QT平)
- QT 实现文件下载
- qt图像处理
- QT,JPEG解码源代码(已完成)
- vs2005骑士巡游问题-分治法C
- Qt 播放音频文件
- Qt 读取16进制的data文件
-
解决安装vs2012后vs2010 li
nk : fatal er - VMware vSphere 的 Intel 82579LM网卡驱动 最
- MQTT+串口(usart)透传
- 易语言QQTEA算法源码
- VC工程转Qt工程文件的工具
- VisualSVN-VS2019V7.0解除时间限制
- MQTT推送Demo
- 基于Linux、QT的视频监控系统的设计与
- Qt 百度地图 定位
评论
共有 条评论