资源简介
Qt实现动态时钟 翻转 滑动 翻页
代码片段和文件信息
#include
#include
class Digits: public QWidget
{
Q_object
public:
/*Define three transition modes of the digital clock*/
enum {
Slide
Flip
Rotate
};
Digits(QWidget *parent)
: QWidget(parent)
m_number(0)
m_transition(Slide)
{
setAttribute(Qt::WA_OpaquePaintEvent true);
//Widget paints all its pixels when it receives a paint event
setAttribute(Qt::WA_NoSystemBackground true);
//Indicates that the widget has no background i.e. when the widget receives paint events the background is not automatically repainted.
connect(&m_animator SIGNAL(frameChanged(int)) SLOT(update()));
//start animation
m_animator.setframeRange(0 100);
m_animator.setDuration(600);
//Construct a 0.6-second timeline with a frame range of 0 - 100
m_animator.setCurveShape(QTimeLine::EaseInOutCurve);
//starts growing slowly then runs steadily then grows slowly again
}
/*Set transition when time changed*/
void setTransition(int tr) {
m_transition = tr;
}
/*Get transition mode*/
int transition() const {
return m_transition;
}
/*Set hours and minutes*/
void setNumber(int n) {
if (m_number != n) {
m_number = qBound(0 n 99);
preparePixmap();
update();
}
}
/*Flip to next state*/
void flipTo(int n) {
if (m_number != n) {
m_number = qBound(0 n 99);
m_lastPixmap = m_pixmap;
preparePixmap();
m_animator.stop();
m_animator.start();
}
}
protected:
/*Draw the main frame of the digits area*/
void drawframe(QPainter *p const QRect &rect) {
p->setPen(Qt::NoPen);
QLinearGradient gradient(rect.topLeft() rect.bottomLeft());
//Set linear gradient area
gradient.setColorAt(0.00 QColor(245 245 245));
gradient.setColorAt(0.49 QColor(192 192 192));
gradient.setColorAt(0.51 QColor(245 245 245));
gradient.setColorAt(1.00 QColor(192 192 192));
//Creates stop points at the given position with the given color
p->setBrush(gradient);
QRect r = rect;
p->drawRoundedRect(r 15 15 Qt::RelativeSize);
/*
Draws outer rectangle rect with rounded corners.
Qt::RelativeSize specifies the size relative to the bounding rectangle
typically using percentage measurements.
*/
r.adjust(1 4 -1 -4);
//Adds 1 4 -1 and -4 respectively to the existing coordinates of the rectangle
p->setPen(QColor(181 181 181));
p->setBrush(Qt::NoBrush);
p->drawRoundedRect(r 15 15 Qt::RelativeSize);
//Draws inner rectangle rect with rounded corners.
p->setPen(QColor(159 159 159));
int y = rect.top() + rect.height() /
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 13984 2015-06-10 09:57 qt 时钟特效动画 翻页 滑动 翻转\1.cpp
文件 443421 2015-11-13 10:56 qt 时钟特效动画 翻页 滑动 翻转\debug\digits.o
文件 250024 2015-11-13 10:56 qt 时钟特效动画 翻页 滑动 翻转\debug\main.o
文件 343025 2015-11-13 10:56 qt 时钟特效动画 翻页 滑动 翻转\debug\mainwindow.o
文件 2329 2015-11-13 10:56 qt 时钟特效动画 翻页 滑动 翻转\debug\moc_Digits.cpp
文件 404843 2015-11-13 10:56 qt 时钟特效动画 翻页 滑动 翻转\debug\moc_Digits.o
文件 3023 2015-11-13 10:56 qt 时钟特效动画 翻页 滑动 翻转\debug\moc_mainwindow.cpp
文件 266347 2015-11-13 10:56 qt 时钟特效动画 翻页 滑动 翻转\debug\moc_mainwindow.o
文件 1697428 2015-11-13 10:56 qt 时钟特效动画 翻页 滑动 翻转\debug\timer.exe
文件 8416 2015-06-10 11:30 qt 时钟特效动画 翻页 滑动 翻转\digits.cpp
文件 1567 2015-06-10 11:26 qt 时钟特效动画 翻页 滑动 翻转\Digits.h
文件 306 2015-06-10 10:09 qt 时钟特效动画 翻页 滑动 翻转\main.cpp
文件 3090 2015-06-10 11:41 qt 时钟特效动画 翻页 滑动 翻转\mainwindow.cpp
文件 690 2015-06-10 11:32 qt 时钟特效动画 翻页 滑动 翻转\mainwindow.h
文件 5883 2015-11-13 10:56 qt 时钟特效动画 翻页 滑动 翻转\Makefile
文件 5992 2015-11-13 10:56 qt 时钟特效动画 翻页 滑动 翻转\Makefile.Debug
文件 6095 2015-11-13 10:56 qt 时钟特效动画 翻页 滑动 翻转\Makefile.Release
文件 373 2015-06-10 10:32 qt 时钟特效动画 翻页 滑动 翻转\timer.pro
文件 34008 2015-11-13 11:07 qt 时钟特效动画 翻页 滑动 翻转\timer.pro.user
文件 18253 2015-06-10 10:01 qt 时钟特效动画 翻页 滑动 翻转\timer.pro.user.dbcd6a0.3.3-pre1
目录 0 2015-11-13 10:56 qt 时钟特效动画 翻页 滑动 翻转\debug
目录 0 2015-11-13 10:56 qt 时钟特效动画 翻页 滑动 翻转\release
目录 0 2015-11-13 11:07 qt 时钟特效动画 翻页 滑动 翻转
----------- --------- ---------- ----- ----
3509097 23
- 上一篇:华为各种机试笔试题目汇总
- 下一篇:qt自定义工具栏,类似word
相关资源
- qt自定义工具栏,类似word
- 子QWidget上画图
- qt libusb U盘通信
- Qt 访问redis接口代码
- QT使用QCustomPlot绘制曲线并动态显示曲
- 顶角判别法识别多边形的凸凹性,并
- qt udp多线程收发数据
- 超酷的Qt消息提示框,仿126邮箱登录提
- Qt 使用Qss实现切换皮肤 最简单
- QT基于TCP的服务器和客户端.rar
- STM32F4读写SD2405实时时钟程序
- Qt使用udp协议,简单易懂
- Qt编程实现 飞舞的蝴蝶 动画
- Qt_USB_I2C_MPU6050.rar
- qt实现读取txt数据并绘制曲线
- 迅为iTOP-4412开发板QtE-led例程,已验证
- S3C2440资料3时钟控制器,电源
- 8253和8259来实现的简单的时钟硬件中断
- vs2017+qt在一个dll中集成多个自定义插
- 51单片机数码管时钟
- qt编写的全键盘
- protues仿真 数字时钟的课程设计
- 9——数字时钟.DSN
- Qt程序获取扫码枪数据
- QCamera支持多摄像头切换显示
- Qt socket的文件传输
- Qt TCP客户端
- QT实现wav音频文件读写
- TCP收发json. 客户端和服务端
- Qt 下的udp socket通信
评论
共有 条评论