这两天无意发现有人写了VC等开发的桌面雪花飘落的程序, 我也写了一个, 算是也过上了剩蛋吧!
代码很简单, 贴个主要的实现过程吧. 理应支持windows和linux桌面版的, 但是linux下就暂时不测试了. 懒得重启. 有空测试一下.
系统资源消耗: 我在1.65GHz 双核CPU, 4G RAM, 32bit Win7 下, 19M左右的内存消耗, 6%-7%左右的CPU消耗.
全部源码在后面的链接.
#include "widget.h"
#include "ui_widget.h"
#include <QDesktopWidget>
#include <QPalette>
#include <QBrush>
#include <time.h>
#ifdef Q_OS_LINUX
#include <X11/extensions/shape.h>
#endif
#ifdef Q_OS_WIN
#include <windows.h>
#endif
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
setGeometry(0, 0, qApp->desktop()->width(), qApp->desktop()->height());
setWindowFlags(windowFlags()
|Qt::FramelessWindowHint //去边框
|Qt::X11BypassWindowManagerHint //linux下脱离任务管理器
|Qt::WindowStaysOnBottomHint //最低层显示
|Qt::Tool //不在任务栏显示
);
setAttribute(Qt::WA_TranslucentBackgrou