QT 中如何实现一个简单的动画
QT可以实现一下简单的动画,比如 运动的时钟 闪烁的按钮。
动画的实现:
(1)创建一个定时器
(2)调用QWidget::update()通知界面重绘
实现一个按钮闪烁的例子:
circlewidget.h
#ifndef CIRCLAWIDGET_H
#define CIRCLAWIDGET_H
#include <QFrame>
#include<QTimer>
class CircleWidget:public QFrame
{
Q_OBJECT
public:
CircleWidget(QWidget *parent);
~CircleWidget();
private:
void paintEvent(QPaintEvent *event);
void timerEvent(QTimerEvent *event);
private:
int m_timerId;
int m_times; }; #endif // CIRCLAWIDGET_H
circlewidgit.cpp
# include"circlewidget.h"
#include<QPainter>
CircleWidget::CircleWidget(QWidget *parent):QFrame(parent)
{
m_timerId=startTimer();
m_times=;
}
CircleWidget::~CircleWidget()
{ }
void CircleWidget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
int width=this->width();
int height=this->height();
painter.setPen(Qt::NoPen);
if(m_times==)
{
QBrush brush(QColor(0xFF,0xFF,0xFF));
painter.setBrush(brush);
m_times=;
}
else
{
QBrush brush(QColor(0x88,0x00,0xFF));
painter.setBrush(brush);
m_times=;
}
m_times++;
if(m_times==)
{
m_times=;
} painter.drawEllipse(,,,); }
void CircleWidget::timerEvent(QTimerEvent *event)
{ update(); }
QT 中如何实现一个简单的动画的更多相关文章
- Qt中如何写一个model
		
在qt中,用到最多就是model/view的结构来表示数据层及表示层的关系.model用于给view提供数据.那如何来实现一个简单的树形model呢. 实现一个自己的model需要重载以下的方法: Q ...
 - Qt中如何写一个model(自定义一个RowNode,我没有碰到过)
		
在qt中,用到最多就是model/view的结构来表示数据层及表示层的关系.model用于给view提供数据.那如何来实现一个简单的树形model呢. 实现一个自己的model需要重载以下的方法: Q ...
 - 对QT中QBitArray类进行简单剖析
		
我们知道Qt中的QBitArray类支持在位(bit)的层次上进行数据操作.本文剖析该类在二进制文件读写时的一些要点.另外,在Qt中,QDataStream类对于二进制文件的读写提供了诸多便利,需要注 ...
 - js实现一个简单钟表动画(javascript+html5 canvas)
		
第一次在博客园注册发博.有一次去人家单位开标,看到开标网站上有个钟表动画,一时兴起,就写了个简单的钟表动画. 用js和html5 canvas对象实现一个简单钟表程序 主要用到的就是h5的canvas ...
 - vue中使用vue-i18n  一个简单的国际化操作
		
1.安装:npm install vue-i18n --save-dev 2.在main.js文件中引入: import VueI18n from 'vue-i18n' Vue.use(VueI18n ...
 - pyqt一个简单的动画
		
import sys from PyQt4.QtGui import QApplication , QGraphicsEllipseItem , QGraphicsItemAnimationfrom ...
 - 【webGl】threejs实现一个简单的动画-弹跳的小球
		
在这里,我们将动态画面简称为动画(animation).正如动画片的原理一样,动画的本质是利用了人眼的视觉暂留特性,快速地变换画面,从而产生物体在运动的假象.而对于Three.js程序而言,动画的实现 ...
 - Qt中QScrollArea类的简单使用心得
		
平台:windows 64位 Qt版本:5.5.1 MinGW 32bit 根据自己目前的需求简单说下怎么在QScrollArea滚动窗口中实现多个控件的滚动显示,先看看最 ...
 - 2.关于QT中数据库操作,简单数据库连接操作,数据库的增删改查,QSqlTableModel和QTableView,事务操作,关于QItemDelegate 代理
		
 Linux下的qt安装,命令时:sudoapt-get install qt-sdk 安装mysql数据库,安装方法参考博客:http://blog.csdn.net/tototuzuoquan ...
 
随机推荐
- Yii 网站上线不需手动配置
			
参考: http://www.cnblogs.com/x3d/p/php_auto_prepend_file.html
 - 前端小知识--区分get和post请求
			
get和post是HTTP协议中的两种发送请求的方法. 如果你还不了解http,可以点击[HTTP协议①介绍](https://www.jianshu.com/p/632b890b75ac)[HTTP ...
 - 使用yarn代替npm
			
npm node module package,是nodeJs的包管理工具,最初是有 Isaac Z. Schlueter 开发的,这个让全世界的人都可以很快的运用互相开发的package的工具使no ...
 - jsp页面el表达式<c:choose>                 <c:when的用法
			
等于 是if else <c:choose> <c:when test="${paginationModel.py_province != ''}"> 如果 ...
 - java笔记之split
			
Java split()用法 特殊情况有 * ^ : | . \ 一.单个符号作为分隔符 String address="上海\上海市|闵行区\吴中路"; String[] sp ...
 - NOIP模拟 9.09
			
AK300分 果实计数 (count.pas/.c/.cpp) 时间限制:1s,空间限制32MB 题目描述: 淘淘家有棵奇怪的苹果树,这棵树共有n+1层,标号为0~n.这棵树第0层只有一个节点,为根节 ...
 - SPOJ GSS5
			
GSS5 - Can you answer these queries V #tree You are given a sequence A[1], A[2], ..., A[N] . ( |A[i] ...
 - QT_string转char*
			
char* convertQString2char(const QString &str) { QByteArray ba = str.toUtf8(); char * pathChar = ...
 - LintCode刷题笔记-- InterLeaving
			
标签: 动态规划 解题思路 1. 这道题最重要的是,存在三个字符串,但是并不需要两个二维矩阵来进行解,因为可以使用i+j-1来代表s3的下标,这样就可以通过i和j来遍历s3了.因为对于任何一个合法的交 ...
 - ASP.NET 自定义服务器控件
			
文章内容 本文通过创建一个最简单的服务器控件,演示开发服务器端控件的流程. 文章内容整理自MSDN的编程指南,原文地址在文章末尾的资源中. 本文创建一个简单的服务器控件,名为 RedLabel. ...