首页 > 分享 > Qt实现全屏下玫瑰花(含详细注释)

Qt实现全屏下玫瑰花(含详细注释)

最新推荐文章于 2024-04-26 23:53:32 发布

IT1995 于 2016-10-11 20:54:58 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

功能:

1. 识别屏幕分辨率

2. 托盘程序

3.随机下玫瑰花

程序源码及素材下载:
http://pan.baidu.com/s/1ceH2wQ

IDE Qt Creator

先上图:



部分代码展示:

GBK.h

<span style="font-family:SimSun;font-size:18px;">#ifndef _QT_GBK_H

#define _QT_GBK_H

#include <QString>

#include <QTextCodec>

#include <string>

using std::string;

class GBK

{

public:

static string FromUnicode(const QString& qstr)

{

QTextCodec* pCodec = QTextCodec::codecForName("gb2312");

if(!pCodec) return "";

QByteArray arr = pCodec->fromUnicode(qstr);

string cstr = arr.data();

return cstr;

}

static QString ToUnicode(const string& cstr)

{

QTextCodec* pCodec = QTextCodec::codecForName("gb2312");

if(!pCodec) return "";

QString qstr = pCodec->toUnicode(cstr.c_str(), cstr.length());

return qstr;

}

};

#endif</span>

mainwidget.h

<span style="font-family:SimSun;font-size:18px;">#ifndef MAINWIDGET_H

#define MAINWIDGET_H

#include <QWidget>

#include <QPixmap>

#include <QSystemTrayIcon>

#include <QPainter>

#include <QPoint>

#include <QMouseEvent>

#include <QMenu>

#include <QIcon>

#include <QMovie>

#include <QSound>

#include "GBK.h"

#include "rose.h"

namespace Ui {

class mainWidget;

}

class mainWidget : public QWidget

{

Q_OBJECT

public:

explicit mainWidget(QWidget *parent = 0);

~mainWidget();

virtual void mouseMoveEvent(QMouseEvent *event);

virtual void mousePressEvent(QMouseEvent *event);

virtual void mouseReleaseEvent(QMouseEvent *event);

public slots:

void OnExitBtn();

void OnShowActive();

void SoundShow(const string filepath,bool loop);

int OnSystemTrayClicked(QSystemTrayIcon::ActivationReason reason);

int OnExitWindows();

void OnClickHere();

private:

Ui::mainWidget *ui;

void closeEvent(QCloseEvent *event);

virtual void paintEvent(QPaintEvent *event);

QPixmap m_MainWidgetImage;

bool m_dragging;

QPoint m_startPosition;

QPoint m_framePosition;

QSystemTrayIcon m_systray;

Rose *rose;

};

#endif

rose.h

<span style="font-family:SimSun;font-size:18px;">#ifndef ROSE_H

#define ROSE_H

#include <QObject>

#include <QWidget>

#include <QLabel>

#include <QPixmap>

#include <QSize>

#include <QApplication>

#include <QDesktopWidget>

#include <QTimerEvent>

#include <stdlib.h>

#include <time.h>

#include <windows.h>

#include <QCloseEvent>

class Rose : public QWidget

{

Q_OBJECT

public:

explicit Rose(QWidget *parent = 0);

void GetScreenInfo();

void closeEvent(QCloseEvent *event);

int Screen_x;

int Screen_y;

signals:

public slots:

protected:

void timerEvent(QTimerEvent *event);

private:

virtual void paintEvent(QPaintEvent *event);

QLabel *rose_1[20];

QLabel *rose_2[5];

QLabel *rose_3[5];

QLabel *rose_4[5];

QLabel *rose_5[5];

int rand_x_rose_1[20][2];

int rand_x_rose_2[5][2];

int rand_x_rose_3[5][2];

int rand_x_rose_4[5][2];

int rand_x_rose_5[5][2];

int crood_y_rose_1[20];

int crood_y_rose_2[5];

int crood_y_rose_3[5];

int crood_y_rose_4[5];

int crood_y_rose_5[5];

int RoseSpeed_Kind[10];

};

#endif

相关知识

Qt框架之情人节玫瑰花案例项目
qt 中的打印程序编写流程
Qt 查询字符串数据
ai怎么绘制玫瑰花:详细步骤与技巧解析
javascript实现玫瑰花
python玫瑰花代码讲解
038基于深度学习的花卉自动识别pyqt界面
《晚春》韩愈唐诗注释翻译赏析
新鲜玫瑰花怎么做干花,详细介绍2种干花制造方法
玫瑰花栽培技术详细介绍

网址: Qt实现全屏下玫瑰花(含详细注释) https://m.huajiangbk.com/newsview313000.html

所属分类:花卉
上一篇: JavaScript实现情人节红
下一篇: 鲜花包装纸简约透明i...