Qt之等待提示框(QTimer)
2024-09-21 17:15:23
简述
上节讲述了关于QPropertyAnimation实现等待提示框的显示,本节我们使用另外一种方案来实现-使用定时器QTimer,通过设置超时时间定时更新图标达到旋转效果。
效果
资源
需要几张不同阶段的图标进行切换,这里使用8张。
源码
QTimer通过setInterval设置100毫秒超时时间,每隔100毫秒后进行图标的更换,达到旋转效果。
MainWindow::MainWindow(QWidget *parent)
: CustomWindow(parent),
m_nIndex(1)
{
m_pLoadingLabel = new QLabel(this);
m_pTipLabel = new QLabel(this);
m_pTimer = new QTimer(this);
m_pTipLabel->setText(QString::fromLocal8Bit("拼命加载中..."));
// 设定超时时间100毫秒
m_pTimer->setInterval(100);
connect(m_pTimer, &QTimer::timeout, this, &MainWindow::updatePixmap);
startAnimation();
}
// 启动定时器
void MainWindow::startAnimation()
{
m_pTimer->start();
}
// 停止定时器
void MainWindow::stopAnimation()
{
m_pTimer->stop();
}
// 更新图标
void MainWindow::updatePixmap()
{
// 若当前图标下标超过8表示到达末尾,重新计数。
m_nIndex++;
if (m_nIndex > 8)
m_nIndex = 1;
QPixmap pixmap(QString(":/Images/loading%1").arg(m_nIndex));
m_pLoadingLabel->setPixmap(pixmap);
}
更多参考
最新文章
- js中获取窗口高度的方法
- 6个奇葩的(hello,world)C语言版(转)
- Hadoop2.6.0安装 — 集群
- 快速上手php:使用PhpStrom部署项目
- fibonacci 数列及其应用
- 树莓派安装3.5inch RPi LCD (A)显示屏
- java 反编译插件 JD-Eclipse 和 JD-IntelliJ
- [BZOJ 1733] [Usaco2005 feb] Secret Milking Machine 【二分 + 最大流】
- bzoj 1912 : [Apio2010]patrol 巡逻 树的直径
- Meta标签中的属性及含义
- Java Runtime.exec()的使用
- uby on rails 用户密码加密
- Android.os.SystemClock
- EBS server log日志
- Intellij IDEA的下载和使用(针对学生的免费使用计划)
- 导出toolStrip1中的图标
- libvirt的security
- pathon 基础学习-集合(set),单双队列,深浅copy,内置函数
- 2012Google校园招聘笔试题
- 在线客服 分享 qq 一键加好友 一键入群
热门文章
- My97日历控件常用功能记录
- YTKNetwork
- 树链剖分 - BZOJ 1036: [ZJOI2008]树的统计Count
- HDOJ 1398 Square Coins 母函数
- PHP-Java-Bridge使用笔记,2014年9月最新版
- ***RESTful API 设计指南(阮一峰)
- WCF分布式开发步步为赢(4):WCF服务可靠性传输配置与编程开发
- java理论基础学习三
- Spring MVC 教程,快速入门,深入分析(转)
- Properties读取资源文件的四种方法