资源简介
Qt实现电力组态软件
代码片段和文件信息
#include
#include “analogclock.h“
AnalogClock::AnalogClock(QWidget* parent) : QWidget(parent)
{
QTimer* timer = new QTimer(this);
connect(timer SIGNAL(timeout()) this SLOT(update()));
timer->start(500);
setWindowtitle(tr(“Analog Clock“));
resize(100 100);
m_pDigClk = new QLCDNumber(this);
m_pDigClk->setSegmentstyle(QLCDNumber::Flat);
m_pDigClk->setNumDigits(14);
m_pDigClk->setMaximumHeight(30);
}
void AnalogClock::paintEvent(QPaintEvent*)
{
if (qMin(width() height()) < 80)
{
m_pDigClk->show();
QDateTime date = QDateTime::currentDateTime();
QString dtext = date.toString(“MM-dd hh mm:ss“);
/* if (date.time().second()%2 == 0)
{
dtext[11] = ‘ ‘;
}
*/
m_pDigClk->display(dtext);
return;
}
m_pDigClk->hide();
static const QPoint hourHand[3] =
{
QPoint(7 8) QPoint(-7 8) QPoint(0 -40)
};
static const QPoint minuteHand[3] =
{
QPoint(7 8) QPoint(-7 8) QPoint(0 -70)
};
static const QPoint secondHand[3] =
{
QPoint(3 4) QPoint(-3 4) QPoint(0 -80)
};
QColor hourColor(127 0 127);
QColor minuteColor(0 127 127 191);
QColor secondColor(127 127 0 191);
float side = qMin(width() height());
QTime time = QTime::currentTime();
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
painter.translate(width() / 2 height() / 2);
painter.scale(side / 200.0 side / 200.0);
painter.setPen(Qt::NoPen);
painter.setBrush(hourColor);
painter.save();
painter.rotate(30.0 * ((time.hour() + time.minute() / 60.0)));
painter.drawConvexPolygon(hourHand 3);
painter.restore();
painter.setPen(hourColor);
for (int i = 0; i < 12; ++i)
{
painter.drawLine(88 0 96 0);
painter.rotate(30.0);
}
painter.setPen(Qt::NoPen);
painter.setBrush(minuteColor);
painter.save();
painter.rotate(6.0 * (time.minute() + time.second() / 60.0));
painter.drawConvexPolygon(minuteHand 3);
painter.restore();
painter.setPen(minuteColor);
for (int j = 0; j < 60; ++j)
{
if ((j % 5) != 0)
painter.drawLine(92 0 96 0);
painter.rotate(6.0);
}
painter.setBrush(secondColor);
painter.setPen(secondColor);
painter.save();
painter.rotate(6.0 * time.second());
painter.drawConvexPolygon(secondHand 3);
painter.restore();
}
- 上一篇:仿微信弹出“生日快乐”类动画
- 下一篇:坦克大战素材包
相关资源
- libmosquitto MQTT-Client
- Qt中嵌入Excel
- QT4.6实践编写串口调试助手原创全源码
- testDateEdit.rar
- libpcap qt
- PyQt5编写的大数据应用-高速公路违章
- QT下写的界面程序,可以实现串口和
- Clion+Qt 运行的
- Qt界面外观
- QT5.9.0实现的QWidget版富文本编辑器
- 基于QT的文本阅读器
- Qt局域网聊天室.zip
- 基于QT的嵌入式MP3播放器设计代码
- 毕业设计之基于QT下的终端设计
- Qt插件开发源码
- 基于qt的一款sip抓包工具
- dataManager.zip
- QT实现自定义UI-精美标题栏支持最小化
- qt 数字图像处理
- Qt解析保存Json
- 基于Qt的截图工具
- QT实战项目五--计算器
- MQTT即时通讯web
- 基于QT的摄像头捕获程序
- QT4简洁音乐播放器
- 可在arm开发板上使用的输入法程序基
- QT帮助文档中文版
- Qt商品信息管理系统
- QPdfiumDemo
- Qt实现对RFID的操作
评论
共有 条评论