资源简介
1.用于桌面
2.显示完全
3.可放大缩小
4.纯代码
5.并配置整点音效(但是我注释了)

代码片段和文件信息
#include “clock.h“
#include
#include
#include
#include
#include
#include se>
const QPoint Clock::hourHand[4] = {
QPoint(3 5)
QPoint(0 13)
QPoint(-3 5)
QPoint(0 -40)
}; // 时针绘图区域
const QPoint Clock::minuteHand[4] = {
QPoint(3 5)
QPoint(0 16)
QPoint(-3 5)
QPoint(0 -68)
}; // 分针绘图区域
const QPoint Clock::secondHand[4] = {
QPoint(3 5)
QPoint(0 18)
QPoint(-3 5)
QPoint(0 -85)
}; // 秒针绘图区域
Clock::Clock(QWidget *parent)
: QWidget(parent)
{
//this->setWindowFlags(Qt::framelessWindowHint | Qt::Tool | Qt::WindowStaysOnTopHint); // 去掉标题栏去掉任务栏显示,窗口置顶
this->setWindowFlags(Qt::framelessWindowHint | Qt::Tool ); // 去掉标题栏去掉任务栏显示
this->setWindowIcon( QIcon(“:/ico/clock.ico“) );
this->setWindowtitle( tr(“桌面时钟“) );
this->resize(200 200);
this->setAttribute(Qt::WA_TranslucentBackground true); // 窗口透明,去掉标题栏后方生效
// this->setWindowOpacity(0.7); // 窗口透明度设置,其控件或绘图也透明,且达不到圆形窗口的效果
/* 加载外部字体文件 */
m_fontList.clear();
int lcdFontId = QFontDatabase::addApplicationFont(“:/lcd/DS-DIGI.ttf“); // 从source资源文件
if (lcdFontId != -1)
{
m_fontList << QFontDatabase::applicationFontFamilies(lcdFontId);
}
/* 画笔设置 */
mHourHandPen = QPen(palette().foreground() 2.0);
mMinuteHandPen = QPen(palette().foreground() 1.0);
QTimer *pTimer = new QTimer(this);
pTimer->start(1000);
connect( pTimer SIGNAL(timeout()) this SLOT(update()) );
/* 音效控制 */
// QString dir = QCoreApplication::applicationDirPath();
// QString filename(dir + “/sounds/clockMoveSound.wav“);
//m_pEffect = new QSoundEffect(this);
//m_pEffect->setLoopCount(QSoundEffect::Infinite); // 循环播放
// m_pEffect->setSource( QUrl::fromLocalFile(filename) );
//m_pEffect->setSource( QUrl::fromLocalFile(“:/sound/clockMoveSound.wav“) );
//m_pEffect->setVolume(1.0); // 音量控制:0.0-1.0
// m_pEffect->play(); // 播放
// m_pEffect->stop(); // 停止
/* 创建右键菜单 */
createMenu();
/* 创建系统托盘项 */
createTray();
}
Clock::~Clock()
{
delete m_pRBMenu;
delete m_pCloseAct;
delete m_pMaxiMinimizeAct;
delete m_pSoundOnAct;
delete m_pSoundOffAct;
//delete m_pEffect;
}
/* 重写绘图事件 */
void Clock::paintEvent(QPaintEvent *e)
{
QPainter painter(this);
QFont font(“Microsoft Yahei“ 10 75); // 字体,大小,加粗等同于QFont::Bold
painter.setFont(font);
painter.setRenderHint(QPainter::Antialiasing true); //反锯齿
// painter.setWindow(0 0 200 200);
int side = qMin(this->width() this->height());
/* 圆形背景的绘制 */
painter.setPen(Qt::NoPen); // 去掉外圈线
painter.setBrush(QColor(255 255 255 125)); // 背景颜色以及透明度
painter.drawEllipse( QPoint(width()/2 height()/2) side/2 side/2 ); // 绘制背景
painter.setPen(QPen( QColor(233 233 216 ) 4 )); // 外边框颜色以及大小
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 11289 2018-07-25 16:09 clock\clock.cpp
文件 1545 2018-07-25 15:59 clock\clock.h
文件 1036 2018-07-25 15:51 clock\clock.pro
文件 23921 2018-07-25 16:09 clock\clock.pro.user
文件 438 2018-07-25 15:51 clock\clock.ui
文件 173 2018-07-25 15:59 clock\main.cpp
目录 0 2018-07-25 16:09 clock
----------- --------- ---------- ----- ----
38402 7
- 上一篇:VLAN构建与配置 实验报告
- 下一篇:QT 精美相册例程 可移动 纯代码
相关资源
- Remote Desktop Organizer v1.4.7 支持win10
- 酒店管理系统基于Qt Creator5)
- STM32 led 时钟
- 单片机电子时钟 闹钟 日历
- vtk QT做的三维地质可视化系统2of2
- Qt局域网聊天软件
- Qt Creator opengl实现四元数鼠标控制轨迹
- QT局域网聊天系统(基于QT5.修改过)
- qt-电子点菜系统
- C 餐厅叫号系统(QT平)
- 远程桌面(带C 源码)
- QT 实现文件下载
- qt图像处理
- 单片机数字时钟包附电路图 源程序
- QT,JPEG解码源代码(已完成)
- 软件方法测试RTX时钟
- (MFC) 时钟日期程序
- PSP怪物猎人主题桌面
- Qt 播放音频文件
- 图形学集成程序dda、中点算法、多边
- 桌面显示时间小程序
- 多线程实例:桌面智能弹球小游戏
- Qt 读取16进制的data文件
- MQTT+串口(usart)透传
- 易语言QQTEA算法源码
- VC工程转Qt工程文件的工具
- E4A免ROOT截图截桌面图类库
- MQTT推送Demo
- 基于Linux、QT的视频监控系统的设计与
- Qt 百度地图 定位
评论
共有 条评论