日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

Qt5.7| C/C++ 超级简单一学就会的仿QQ宠物

發布時間:2025/3/15 c/c++ 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt5.7| C/C++ 超级简单一学就会的仿QQ宠物 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

功能及其簡單,代碼行數列不過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_OBJECTpublic: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 // WIDGET_H

.cpp文件:

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this);//gif動態標簽(有錢)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){//delta 相對偏移量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| C/C++ 超级简单一学就会的仿QQ宠物的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。