资源简介
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 精美相册例程 可移动 纯代码
相关资源
- QT 精美相册例程 可移动 纯代码
- QT无边框拖放解决花屏.zip
- QT实现简单的局域网聊天工具
- Qt访问百度语音识别服务器,简单测试
- Qt图片浏览器集成图片缩放、翻页、删
- qt学生成绩管理系统
- Qt5.9自定义标题栏源代码
- qt自定义的messagebox
- Qt控制电机
- STC89C52+LCD1602+DS1302电子时钟
- qt 嵌入式键盘插件源码
- qt写的共享内存简单
- qt4.7 源码
- 基于QT5编写的安防视频监控,实现了
- QT QExcel使用
-
qt 3 和 qt-em
bedded -3.3.7 (qte) 的安装 - Windows系统时间同步(NTP)工具
- Qt与stm32通信绘制波形
- Qt 5.1 全局快捷键 win8.1 可用
- Qt实现全局钩子拦截鼠标键盘消息修改
- QT5串口工程源代码上位机
- QT实时绘制串口数据
- ubuntu opencv qt 三位一体的摄像头源码
- qt-everywhere-opensource-src-5.7.0
- EC20开发资料,含源码
- PCL+Qt可视化,鼠标点拾取
- linux下基于QT和v4l2驱动的USB摄像头视频
- QT5串口上位机实现 源码
- 基于AT89C52单片机的万年历protel原理图
- QT实现类似QQ好友分组列表
评论
共有 条评论