开发工具:
文件大小: 340kb
下载次数: 0
上传时间: 2011-07-21
详细说明: qt 时间线 对初学者很有帮助 /*************************************************************************** * Copyright (C) 2009 by shiroki@www.cuteqt.com* * shiroki@cuteqt.com * * * ***************************************************************************/ #include #include #include #include #include #include #include #include "main win.h" #define QUANTITY 20 MainWin::MainWin(QWidget*p, Qt::WFlags f) :QWidget(p), pixmap("./background.png") { setFixedSize(800,600); QTimeLine* tl = new QTimeLine(2000, this);//total time connect(tl, SIGNAL(frameChanged(int)), this, SLOT(changePixmap(int))); tl->setFrameRange(0,100);//max value tl->setCurveShape(QTimeLine::LinearCurve); tl->setUpdateInterval(100);//step tl->start(); } void MainWin::paintEvent(QPaintEvent*e) { QPainter painter(this); painter.setClipRect(e->rect()); painter.drawPixmap(e->rect(),pixmap, e->rect()); } void MainWin::changePixmap(int value) { static int oldx = 0; qWarning() << "change pixmap..." << value; QPainter p(&pixmap);//change pixmap int width = pixmap.width(); if( width > rect().width()) width = rect().width(); int height = pixmap.height(); if( height > rect().height()) height = rect().height(); int x = width * value / 100; QRect updaterect(oldx, 0, x-oldx + 1, height); qWarning() << value << x << oldx ; p.fillRect(updaterect, QColor(Qt::black)); //p.fillRect(updaterect, palette().color(QPalette::Base)); repaint(updaterect); oldx = x; } ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.