Qt5.7
功能及其简单,代码行数列不过100行,下面看看运行结果
程序原理:
①窗口置顶,去标题栏和边框;
②重写鼠标事件(鼠标左键、右击、拖动坐标换算);
③播放gif文件;
下面是.h文件
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QPainter>
#include <QMouseEvent>
#include <QMovie>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
virtual void mouseMoveEvent(QMouseEvent *event);
virtual void mousePressEvent(QMouseEvent *event);
virtual void mouseReleaseEvent(QMouseEvent *event);
private:
Ui::Widget *ui;
QPixmap m_MainWidgetImage;
bool m_dragging;
QPoint m_startPosition;
QPoint m_framePosition;
};
#endif
.cpp文件:
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
setWindowTitle("山寨宠物");
QMovie *MyPetMovie = new QMovie(":/timg.gif");
ui->MyPetlabel->setMovie(MyPetMovie);
setWindowFlags(Qt::Window|Qt::FramelessWindowHint);
setAttribute(Qt::WA_TranslucentBackground);
setWindowFlags(Qt::FramelessWindowHint |Qt::WindowStaysOnTopHint);
MyPetMovie->start();
}
void Widget::mouseMoveEvent(QMouseEvent *event)
{
if (event->buttons()&Qt::LeftButton)
{
if (m_dragging)
{
QPoint delta = event->globalPos() - m_startPosition;
move(m_framePosition + delta);
}
}
QWidget::mouseMoveEvent(event);
}
void Widget::mousePressEvent(QMouseEvent *event)
{
if (event->button() == Qt::LeftButton)
{
m_dragging = true;
m_startPosition = event->globalPos();
m_framePosition = frameGeometry().topLeft();
}
QWidget::mousePressEvent(event);
}
void Widget::mouseReleaseEvent(QMouseEvent *event)
{
m_dragging = false;
QWidget::mouseReleaseEvent(event);
}
Widget::~Widget()
{
delete ui;
}
为了方便学习,我把整个工程全部打包了,有需要的读者可以下载,下载地址如下:
http://download.csdn.net/download/qq78442761/9955784
相关知识
网址: Qt5.7 https://www.mcbbbk.com/newsview260732.html
上一篇: 从黑白格子到3D萌物美如画,虚拟 |
下一篇: 火影之最强白眼 |
推荐分享

- 1养玉米蛇的危害 28654
- 2狗交配为什么会锁住?从狗狗生 6922
- 3我的狗老公李淑敏33——如何 6215
- 4豆柴犬为什么不建议养?可爱的 4597
- 5南京宠物粮食薄荷饼宠物食品包 4549
- 6中国境内禁养的十大鸟种,你知 4418
- 7湖南隆飞尔动物药业有限公司宠 4247
- 8自制狗狗辅食:棉花面纱犬的美 4241
- 9家养水獭多少钱一只正常 4194
- 10广州哪里卖宠物猫狗的选择性多 4102