当前位置: 首页 > 编程笔记 >

QTimer与QTime实现电子时钟

姚嘉容
2023-03-14
本文向大家介绍QTimer与QTime实现电子时钟,包括了QTimer与QTime实现电子时钟的使用技巧和注意事项,需要的朋友参考一下

本文实例为大家分享了QTimer与QTime实现电子时钟的具体代码,供大家参考,具体内容如下

使用QLCDNumber控件进行显示

QLCDNumber控件默认只显示5个字符,可以使用setDigitCount(int size)进行设置显示个数

使用Display(QString str) 设置显示内容

该函数拥有多个重载,字符 整型 浮点型都可以作为html" target="_blank">参数 

效果图:

 

代码:头文件

#include <QLCDNumber>
 
class NumClock : public QLCDNumber
{
 Q_OBJECT
public:
 explicit NumClock(QWidget *parent = nullptr);
 void mousePressEvent(QMouseEvent *event);
 void mouseMoveEvent(QMouseEvent *event);
 
signals:
 
public slots:
 void updateTime();
 
private:
 QTimer * timer;
 QPoint mouseOfPonit; // 鼠标坐标跟窗口左上角坐标的偏移值
 bool showColon;    //是否显示:
};

cpp文件:

#include "numclock.h"
#include <QTimer>
#include <QTime>
#include <QMouseEvent>
#include <QDebug>
 
NumClock::NumClock(QWidget *parent) : QLCDNumber(parent)
{
 timer = new QTimer(this);
 timer->setTimerType(Qt::PreciseTimer); // 设置精度为较高精度,差距在毫秒内
 timer->start(1000);
 connect(timer, SIGNAL(timeout()), this, SLOT(updateTime()),Qt::QueuedConnection);
 
 setWindowFlag(Qt::FramelessWindowHint); //没有面板边框标题栏的窗体
 setWindowOpacity(0.5); //设置窗口的透明度
 
 showColon = true;
 
 this->setDigitCount(8);
 resize(150, 100);
 
 updateTime();
 
 
 setAttribute(Qt::WA_DeleteOnClose);
}
 
void NumClock::mousePressEvent(QMouseEvent *event)
{
 if(event->button() == Qt::LeftButton){
  mouseOfPonit = event->globalPos() - this->pos();
  event->accept();
 }else{
  close();
 }
}
 
void NumClock::mouseMoveEvent(QMouseEvent *event)
{
 if(event->buttons() & Qt::LeftButton){
  move(event->globalPos() - mouseOfPonit);
  event->accept();
 }
}
 
void NumClock::updateTime()
{
 QString timeStr = QTime::currentTime().toString("hh:mm:ss");
 if(showColon){
  timeStr = timeStr.replace(QString(":"), QString(" "));
  qDebug() << timeStr;
  showColon = false;
 }else{
  timeStr = timeStr.replace(QString(" "), QString(":"));
  showColon = true;
  qDebug() << timeStr;
 }
 display(timeStr);
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍PyQt5使用QTimer实现电子时钟,包括了PyQt5使用QTimer实现电子时钟的使用技巧和注意事项,需要的朋友参考一下 本文用 PyQt5 的QTimer类的两种方式实现电子时钟,供大家参考,具体内容如下 【效果图】 【知识点】 QTimer类提供了定时器信号/槽和单触发定时器。 它在内部使用定时器事件来提供更通用的定时器。 QTimer很容易使用:创建一个QTimer,使用s

  • 本文向大家介绍PyQt5实现简易电子词典,包括了PyQt5实现简易电子词典的使用技巧和注意事项,需要的朋友参考一下 PyQt5是python中一个非常实用的GUI编程模块,功能十分强大。刚刚学完了Pyqt的编程,就迫不及待的写出了一个电子词典GUI程序。整个程序使用qt Desiner把整个gui界面做好,槽函数则自己写好的。电子词典实现了查询单词,查询历史记录,收藏和查看单词本的功能,另外为了是

  • 我想开发一个带有格子呢的网络应用程序(Java、JSP和JS)来拉动所有银行交易。我点击了以下链接 https://github.com/plaid/plaid-java 从上面的存储库中,我在Maven中使用了以下内容 并添加了以下代码 并更改了,和。但它抛出以下异常。我问格子,但格子支持没有有用的响应。 我甚至不能用格子布开始我的发展请帮忙 提前谢谢 新星

  • 本文向大家介绍C++多线程实现电子词典,包括了C++多线程实现电子词典的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了C++多线程实现电子词典的具体代码,供大家参考,具体内容如下 效果图: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍JavaScript电子时钟倒计时,包括了JavaScript电子时钟倒计时的使用技巧和注意事项,需要的朋友参考一下 本文实例讲解了JavaScript电子时钟倒计时的详细代码,分享给大家供大家参考,具体内容如下 JavaScript时间类 1、获取时分秒:          getHours()          getMinutes();          getSeconds(

  • 本文向大家介绍C语言实现小型电子词典,包括了C语言实现小型电子词典的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了C语言实现小型词典系统,供大家参考,具体内容如下 1. 题目描述 用C语言编写一个小型词典,用户可以进行英译汉、汉译英、删除修改单词、添加单词等功能。        2.源代码 效果: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。