Qt - 与众不同的电子时钟
来源:互联网 发布:衣柜设计软件下载 编辑:程序博客网 时间:2024/04/26 19:23
Qt的电子时钟是个老掉牙的demo了,但是利用lcdNumber显示的样子非常老土(下图第一个显示效果),一看就知道是从qt帮助文档里摘出来的example,毫无新意。
美化一下系统时钟,抛开固有控件躯壳,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 - 与众不同的电子时钟
- QT----电子时钟
- Qt:电子时钟
- QT:电子时钟
- Qt浅谈之电子时钟
- QT时间触发电子时钟
- 电子时钟的制作
- Qt学习——电子时钟
- Qt学习——电子时钟 .
- Qt浅谈之四:电子时钟
- Qt学习(五)-----自定义电子时钟
- Qt学习13——电子时钟
- C#写的电子时钟
- 个性的桌面电子时钟
- 手把手教你:用Qt做一个漂亮的电子时钟(纯代码)
- 用Qt做一个漂亮的电子时钟(纯代码)
- 电子时钟
- 电子时钟
- 蒙卦 老师和学生的智慧
- Open Core 上层代码结构
- 由Adapter模式引起的联想
- 【编译器】if/switch之性能分析
- pku2282 The Counting Problem
- Qt - 与众不同的电子时钟
- WinDbg - 配置和使用基础
- break 与 continnue 的困惑
- Service初步
- GCC用法入门
- 谁需要架构(Martin Fowler)
- QIodevice
- iphone 如何使用地图MapKit
- Maven pom.xml 文件解析