Qt - 与众不同的电子时钟

美化一下系统时钟,抛开固有控件躯壳,DIY效果让人眼前一亮,要知道细节决定UI成败。这也是我一直所追求的。
思路非常简单,就是利用label或者button贴图变化显示。
一说到贴图,有人可能就会认为代码冗余,哐哐的加载图片大坨的判断和代码量……其实贴图也讲究方法,比如我实现了一个:
getPngName(QChar x)来获取资源名称,和数字0123456789对应起来,即:资源图片名称为0.png,1.png...以此类推,所以只需要:
- QString Clock::getPngName(QChar x)
 - {
 - return (x+QString(".png") );
 - }
 
就可以了。真的很简单吧……
全部代码就这么几行:
- Clock::Clock(QWidget *parent) :
 - QWidget(parent),
 - ui(new Ui::Clock)
 - {
 - ui->setupUi(this);
 - timer = new QTimer(this);
 - connect(timer, SIGNAL(timeout()), this, SLOT(showTime()));
 - timer->start(1000);
 - showTime();
 - }
 - Clock::~Clock()
 - {
 - delete ui;
 - }
 - void Clock::showTime()
 - {
 - //lcd
 - QTime time = QTime::currentTime();
 - QString text = time.toString("hh:mm:ss");
 - ui->lcdNumber->display(text);
 - //ourclock
 - ui->hourh->setIcon(QPixmap(this->getPngName(text[0])));
 - ui->hourl->setIcon(QPixmap(this->getPngName(text[1])));
 - ui->minh->setIcon(QPixmap(this->getPngName(text[3])));
 - ui->minl->setIcon(QPixmap(this->getPngName(text[4])));
 - ui->sech->setIcon(QPixmap(this->getPngName(text[6])));
 - ui->secl->setIcon(QPixmap(this->getPngName(text[7])));
 - }
 - QString Clock::getPngName(QChar x)
 - {
 - return (x+QString(".png") );
 - }
 
其实demo很简单,重点是变换显示效果的思想和手段。
Any good ideas? 还是那四个字:欢迎交流~~~
Qt - 与众不同的电子时钟的更多相关文章
- 公开课 之 tony  电子时钟 (课堂笔记)
		
# tony 之电子时钟from PyQt5.QtWidgets import QApplication, QWidget, QLCDNumber, QDesktopWidget, QVBoxLayo ...
 - JavaScript电子时钟+倒计时
		
JavaScript时间类 获取时分秒: getHours() getMinutes(); getSeconds(); 获取 ...
 - JS实现电子时钟
		
目前有个小项目,在首页头部导航栏里需要一个电子时钟的效果,于是我就采用如下代码实现了一个电子时钟的效果.不过不完美,第一种方式容易导致网页莫名其妙的异常,后来觉得可能是做的操作太多了,然后 ...
 - 桌面小部件----LED电子时钟实现
		
桌面控件是通过 Broadcast 的形式来进行控制的,因此每个桌面控件都对应于一个BroadcastReceiver.为了简化桌面控件的开发,Android 系统提供了一个 AppWidgetPro ...
 - [TPYBoard-Micropython之会python就能做硬件 3] 制作电子时钟
		
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.本次实验所需器材 1.TPYboard V102板 一块 2.DS3231 ...
 - 3分钟利用TurnipBit制作电子时钟
		
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 TurnipBit(www.turnipbit.com)是一个面向青少年的开发板 ...
 - Micropython TurnipBit  电子时钟 青少年编程入门
		
电子时钟是一个很常用但是制作非常简单的小玩具了,对于Micropython初学者来说,制作一个电子时钟是非常简单又容易检验自己学习成果的实验了.TurnipBit相比于其他开发板,制作电子时钟就更加简 ...
 - MFC桌面电子时钟的设计与实现
		
目录 核心技术 需求分析 程序设计 程序展示 (一)核心技术 MFC(Micosoft Foundation Class Libay,微基础类库)是微基于Windows平台下的C++类库集合,MFC包 ...
 - 使用CSS3生成的电子时钟特效
		
在线演示 本地下载 突然觉得自己对带工作的态度亟需改正,虽然不喜欢现在的加班生活,但是自己要去接受自己不喜欢的,才能获得自己喜欢的. 这是自己好久之前丛过的一个时钟,网上应该有这个的教程,虽然实现的效 ...
 
随机推荐
- 数据库WMI 0x80041010 如何解决?
			
在你打开 SQL Server Configuration Manager遇到以下错误的时候,请参考下面提出的解决办法 solution: 打开cmd 命令窗口执行mofcomp.exe " ...
 - 启发式算法、寻路算法A*算法
			
原文链接: http://blog.csdn.net/b2b160/article/details/4057781
 - 沙盒操作的核心函数 - NSSearchPathForDirectoriesInDomains用法
			
1. iPhone会为每一个应用程序生成一个私有目录,这个目录位于: /Users/sundfsun2009/Library/Application Support/iPhone Simulator/ ...
 - CADisplayLink的简单使用
			
CADisplayLink类似NSTimer是一个定时器,只不过是一秒会调用60次指定的方法 使用方法: #import "ViewController.h" @interface ...
 - Mybatis的学习总结(一)——使用配置文件实现增删改查
			
在使用Mybatis作为持久层来进行操作数据库,有很多的操作都是一样的,基本上都是先得到session,然后调用session提供的相关方法进行操作,接着提交session,最后关闭session.那 ...
 - ContentProvider URI的组成
			
ContentProvider URI由哪几部分组成 ContentProvider URI与HTTP URI类似,由以下4部分组成: 1.content:// 相当于HTTP URI中的http ...
 - MySQL重构查询的方式
			
在优化有问题的查询时,目标应该是找到一个更优的方法获得实际需要的结果--而不一定总要从MySQL获取一模一样的结果集.有时候可以查询转换一种写法让其返回一样的结果,但是性能更好.但也可以通过修改应用代 ...
 - MySQL重置root用户密码的方法(转)
			
本教程适用于采用Win2003.WinXP操作系统的迅美VPS和云主机产品. 当管理员忘记MySQL密码怎么办?屡次输入密码,仍然提示错误,网站无法正常运行,数据库也无法管理,管理员束手无策. 网站程 ...
 - ecshop有关real_ip()你发现的问题
			
我这边有一个ECSHOP后台,有一个功能,在客户下订单时自动获取客户IP,用的是ECSHOP本身的real_ip函数,但这个函数存在一个问题,十个订单得到的IP,可能会有几个与CNZZ统计得到的不一样 ...
 - CSS样式鼠标点击与经过的效果一样
			
a:link /* 未访问的链接 */ a:visited /* 已访问的链接 */ a:hover /* 当有鼠标悬停在链接上 */ a:active /* 被选择的链接 */ a,a:visite ...