功能:

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:// QString(Unicode) -> std::string (GBK)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;}// std::string (GBK) -> QString(Unicode)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_OBJECTpublic: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);    //重写close按钮virtual void paintEvent(QPaintEvent *event);QPixmap m_MainWidgetImage;bool m_dragging;  //是否正在拖动QPoint m_startPosition; //拖动开始前的鼠标位置QPoint m_framePosition; //窗体的原始位置QSystemTrayIcon m_systray; //托盘图标Rose *rose;};#endif // MAINWIDGET_H</span>

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;   //屏幕x轴int Screen_y;   //屏幕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];    //rose1 20个的玫瑰花坐标  第二个为玫瑰的速度int rand_x_rose_2[5][2];    //rose2 5个的玫瑰花坐标  第二个为玫瑰的速度int rand_x_rose_3[5][2];     //rose3 5个的玫瑰花坐标  第二个为玫瑰的速度int rand_x_rose_4[5][2];    //rose4 5个的玫瑰花坐标  第二个为玫瑰的速度int rand_x_rose_5[5][2];    //rose4 5个的玫瑰花坐标  第二个为玫瑰的速度int crood_y_rose_1[20];       //rose_1 的y坐标int crood_y_rose_2[5];      //rose_2 的y坐标int crood_y_rose_3[5];      //rose_3 的y坐标int crood_y_rose_4[5];      //rose_4 的y坐标int crood_y_rose_5[5];      //rose_5 的y坐标int RoseSpeed_Kind[10];      //玫瑰的10种不同的速度};#endif // ROSE_H</span>

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

  1. 发现qq的mac输入法2.8,在终端全屏下输入不显示待选文字或单词

    为什么80%的码农都做不了架构师?>>>    发现qq的mac输入法2.8的版本,在终端全屏下输入不显示待选文字或单词,不知道终端非全屏下是否显示待选单词,忘了测试,谁知道呢, 已 ...

  2. esc键退出全屏 vue_解决了VUE在浏览器全屏下监听不到Esc键盘事件

    说明: 实测可以在谷歌.火狐.360 浏览器使用 解决了在浏览器全屏下监听不到键盘Esc事件 解决了取消全屏和全屏的同步问题,ESC按键下可以同步 以下是完整的代码, // data() { retu ...

  3. 解决VUE在浏览器全屏下监听不到Esc键盘事件

    实测可以在谷歌.火狐.360 浏览器使用 解决了在浏览器全屏下监听不到键盘Esc事件 解决了取消全屏和全屏的同步问题,ESC按键下可以同步 以下是完整的代码, // data() {return {i ...

  4. html文件如何设置为桌面壁纸,怎样把文件里的图片设置为桌面背景时全部是全屏图?最好详细一点的。...

    怎样把文件里的图片设置为桌面背景时全部是全屏图?最好详细一点的.以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 怎样把文 ...

  5. jq苹果手机全屏下点击无效果_看剧、下视频、看小说,这一个app就可以~

    推荐看剧.搜索.看小说的app那么多!!! 难道就没有一款可以满足所有需求的app吗? 当然有!!! 今天推荐的这款可以看剧.看小说,还能下载网页视频的浏览器,就可以满足你的所有需求. 有了它,你的手 ...

  6. QT制作全屏播放器以及出现的问题

    使用QT做播放器使用widget::winid可以获取播放器组件的windows句柄并以命令行的方式调起另一个程序使用D3D将内存缓冲区的图像打在上面.但是在做全屏是出现了问题,如果让播放器组件自己独 ...

  7. 彩虹瓶【含详细注释】

    2-9 彩虹瓶 (20分) 我的简而言之: 就是给你一串数字,然后呢,你通过在栈内的操作,控制谁进去之后什么时候出来,最好出来的顺序要按照1 2 3 4 -- 这个和出栈序列的合法性还有有点区别的啊 ...

  8. jq苹果手机全屏下点击无效果_苹果系统自带外挂?无需越狱也可录制动作脚本...

    网络游戏开始流行起来之后,随之而来的是外挂的兴起,各式各样的外挂中有两种最为致命:物理外挂和系统自带外挂. 随着国内电竞行业和电竞直播的兴起,"物理外挂"出现在我们周围的频率也越来 ...

  9. linux下qt和wine,Ubuntu下安装wine详细介绍

    Ubuntu安装wine一般使用两种方式,源码编译或者从网络源安装. 源码编译安装相对比较稳定,速度快.效率高,但是需要时间编译,相比一分钟的源安装,几十分钟的编译确实很长.源安装是别人已经帮你编译好 ...

最新文章

  1. tomcat关闭 异常报告
  2. Android获取手机内部存储和外部存储
  3. $.extend 的相关用法
  4. 服务提供者与服务消费者
  5. 适用于 ESXi 6.x 中的 OpenSLP 安全漏洞 (CVE-2019-5544) 的权宜措施 (76372)
  6. 2018年python工作好找吗-2018年IT行业薪资大揭秘:你拖后腿了吗?
  7. 安卓使用intent切换到同级窗口和子窗口,并从子窗口中获取返回数据
  8. 8051蜂鸣器程序c语言,蜂鸣器报警声C51程序
  9. layui icon服务器上显示不出来,关于layui的动态图标不显示的解决方法
  10. python扇贝每日一句api_【扇贝批量添加单词到词库】利用python调用扇贝API (oauth2)...
  11. 数据结构学习笔记-常用十大算法
  12. 今日简报 每日精选12条新闻简报 每天一分钟 知晓天下事 4月23日
  13. 图片转视频python/ffmpeg
  14. 【C#】SharpDevelop使用教程,C#写windows下第一个窗口程序,简单粗暴,初学者进,全图文,一看就明白
  15. Dockerfile 指令 VOLUME 介绍
  16. SRS_Audio_Sandbox注册码破解版+注册机+中文
  17. ORACLE查看表空间
  18. python2.7下载哪个_Python2.7.13下载安装全过程(Windows版)
  19. 教程| R语言:生存分析
  20. socket python 连接 java_linux 下 python 和 java, socket通讯问题。

热门文章

  1. 程序员,想搞事情?进来,就一句话的事!
  2. 如何解释营销能力与技术能力是正交的
  3. 对于内向、不善于社交的人来说,如何建立人脉?
  4. FEIM Studios 团队欢迎您加入
  5. 中国十大穷光蛋排行榜
  6. C++ 程序员自信心曲线图
  7. 经典面试题(17):以下代码将输出的结果是什么?
  8. java绑定click时间_JAVA面试之vue.js(一)
  9. linux同步数据库,Linux两台服务器mysql数据库同步
  10. 爆款入门 | 第 14 期微生物组-扩增子16S分析和可视化(线上/线下同时开课,2022.4)...