QT学习 实时显示时间

article/2025/9/30 15:09:06

今天完成一个实时显示时间的小demo

先上DJ先上DJ

先看一下效果

以两种形式显示当前具体时间

 先附上代码,再总结一下核心代码

(1) myweather.ui文件

创建一个Label,ObjectName值为text;创建一个LCD Number,ObjectName为lcd。

分别用于两种形式的显示

           

(2) myweather.h文件

#ifndef MYWEATHER_H
#define MYWEATHER_H#include <QMainWindow>QT_BEGIN_NAMESPACE
namespace Ui { class MyWeather; }
QT_END_NAMESPACEclass MyWeather : public QMainWindow
{Q_OBJECTpublic:MyWeather(QWidget *parent = nullptr);~MyWeather();private:Ui::MyWeather *ui;
public slots:void timerUpdata(void);
};
#endif // MYWEATHER_H

这里声明了一个槽函数,用于处理 时间显示事件

(3)myweather.cpp

#include "myweather.h"
#include "ui_myweather.h"
#include <QFont>
#include <QTime>
#include <QTimer>
#include <qdatetime.h>
MyWeather::MyWeather(QWidget *parent): QMainWindow(parent), ui(new Ui::MyWeather)
{ui->setupUi(this);QTimer *timer = new QTimer(this);connect(timer,SIGNAL(timeout()),this,SLOT(timerUpdata()));timer->start(1000);
}MyWeather::~MyWeather()
{delete ui;
}
void MyWeather::timerUpdata()
{QFont font("Microsoft YaHei",20,50);QDateTime time = QDateTime::currentDateTime();QString str = time.toString("yyyy-MM-dd hh:mm:ss dddd");QString str1 = time.toString("yyyy-MM-dd hh:mm:ss");ui -> text ->setFont(font);this -> ui->text->setText(str);//ui->text->show();ui -> lcd -> display(str1);
}

涉及知识点:

a. 信号和槽

使用connect()函数,创建信号和槽的相对应关系

(connect()函数的写法有三种,具体的话自己可以查一下,与QT的版本有关,不用拘泥于特定的形式)

b.定时器

QTimer为QT中的一个定时器类,timer->start(1000)用于设置定时器的定时周期为1000ms,设置之后,每1000ms就会发射定时器的timeout()信号,那么在connect()函数中建立起关联的槽函数,就会在每次信号触发时进行相应的工作

c. QFont

用于控制QT控件的文字属性,具体用法可自行搜索,这里对用到的属性做简单介绍

d.QDateTime

QDateTime::currentDateTime();//获取系统现在的时间

QFont font ( “Microsoft YaHei”, 20, 50); 
//第一个属性是字体(微软雅黑),第二个是大小,第三个是加粗(权重是75)
ui->label->setFont(font);常见权重
QFont::Light - 25 高亮
QFont::Normal - 50 正常
QFont::DemiBold - 63 半粗体
QFont::Bold - 75 粗体
QFont::Black - 87 黑体

(4)main.cpp

#include "myweather.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);MyWeather w;w.setWindowTitle("实时时钟系统");w.show();return a.exec();
}

大概内容就这样了,see you nala


http://chatgpt.dhexx.cn/article/1ZmQn5Km.shtml

相关文章

安卓实时显示时间

安卓开发过程中&#xff0c;有时候会用到实时的显示当前时间的功能&#xff0c;比如&#xff1a;自定义的状态栏就需要实时的更新当前时间&#xff0c;看下面图就是自定义的状态栏实时的更新时间&#xff1a; 实时显示更新时间代码&#xff1a;TimeThread.java import android.…

Linux中history命令显示时间

项目场景&#xff1a; 编写Linux shell自动判卷脚本过程中&#xff0c;使用到history命令时&#xff0c;如何显示命令执行时间问题的解决。 问题描述 Linux中的history命令默认只会显示两列&#xff0c;序号和命令&#xff0c;无法显示时间&#xff0c;如下所示&#xff1a; …

使用LCD1602显示温度或切换显示时间

项目名称&#xff1a;测温过温报警系统及时钟系统 此系统主要由AT89C51、DS18B20温度模块、LCD1602、喇叭组成。大致的原理是DS18B20温度采集到的数据传送给AT89C51的P3.4&#xff0c;最后通过LCD1602显示当前的实时温度&#xff0c;根据中断按键判断显示时间还是温度。 复习使…

vue项目中动态显示时间

vue项目中动态显示时间 前言一、js源代码二、效果图1.修改2.html与style的修改3.修改后效果图 总结 前言 在vue项目中动态显示时间&#xff0c;并且按日期、时间、星期一列排列。 我们想要的是下图时间显示方法。 一、js源代码 声明变量 export default {data() {return {ti…

51单片机lcd1602显示时间日期

实验内容&#xff1a; 使用51单片机控制LCD1602液晶显示屏显示 时间/日期/星期/温度 信息&#xff0c;并可通过按键设置值。 仿真效果展示&#xff1a; proteus仿真图&#xff1a; 硬件测试图&#xff1a; 说明&#xff1a; 硬件测试按键使用左侧的四个独立按键 key…

计算机怎么在桌面显示时间,怎么设置使电脑即显示时间有显示日期

怎么设置使电脑即显示时间有显示日期以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 怎么设置使电脑即显示时间有显示日期 单击“开始→控制面板区域和语言选项”,在“区域选项”选项卡中单击“自定义”按钮打开…

1.Vue显示实时时间

实时显示时间&#xff0c;代码如下&#xff1a; <div id"app">{{date}}</div><script>var appnew Vue({el:"#app",data:{date:new Date()},mounted:function(){var _thisthis;this.timersetInterval(function(){_this.datenew Date();}…

Linux、Oracle、MySQL命令提示符显示时间

前言&#xff1a;测试环境Oracle DG开启了FLASHBACK有遇到过to timestamp的恢复场景&#xff0c;因为这个问题有了在sqlplus命令提示符前显示时间的需求&#xff0c;顺着也了解了下怎么在Linux、MySQL命令提示符前显示时间。 1. Linux命令提示符显示时间 PS1是Linux终端用户的一…

Linux命令之显示日期时间date

概述 date 可以用来显示或设定系统的日期与时间。 语法 该命令的语法如下&#xff1a; date [选项] [日期时间格式]该命令支持的选项有&#xff1a; 选项说明-d <时间字符串>显示指定的“时间字符串”表示的时间&#xff0c;而非当前时间。注意用双引号把字符串引起…

Java之Redis分片机制

1. Redis分片机制 1.1 分片机制说明 前提说明: redis可以通过修改内存的大小 实现数据的保存.但是内存的资源不易设置的过大,因为很多的时间都浪费在内存的寻址中. 需求: 如果有海量的数据,需要redis存储 问:应该如何处理? 解决方案: 可以采用Redis分片机制 实现内存数据的扩…

Redis分片+Redis哨兵

Redis分片机制 Redis分片前提:Redis可以通过修改内存的大小实现数据的保存,但是不能设置的过大 解决方案:可以采用Redis分片机制来实现内存数据的扩容,使用Redis分片的主要目的就是为了内存扩容,解决海量数据的存储问题 Redis每个分片内的数据都是不相同的 Redis分片搭建步骤…

flea-cache使用之Redis分片模式接入

Redis分片模式接入 1. 参考2. 依赖3. 基础接入3.1 定义Flea缓存接口3.2 定义抽象Flea缓存类3.3 定义Redis客户端接口类3.4 定义Redis客户端命令行3.5 定义分片模式Redis客户端实现类3.6 定义Redis分片连接池3.7 Redis配置文件3.8 定义Redis Flea缓存类3.9 定义抽象Flea缓存管理…

java如何实现redis分片存储_Redis的分片机制

前言:大家都知道redis单台的默认内存大小一般是10M.如果现在需要我们将1G的数据保存到内存中。这该如何做到呢?比如我们就用单台redis,但是一味的扩大单台redis内存则直接影响执行的效率,会有一种得不偿失的感觉。于是呢,我们就得采用分片策略实现数据保存,通过多台redis…

Redis分片的实现

1.为什么使用分片 1.1 说明: 虽然redis可以扩展内存空间的大小,但是如果需要存储海量的数据,一味地去扩大内存,其实效率不高. 1.2 分片的介绍 准备多台redis,共同为用户提供缓存服务,在保证效率的前提下,实现了内存的扩容. 用户在使用分片机制时,将多台redis当做一个整体来…

使用DockerCompose部署Redis分片集群——整合SpringBoot

今天来记录一下使用DockerCompose部署Redis分片集群的过程&#xff0c;前面写了几篇关于redis的博客了&#xff0c;这里就不再过多介绍了&#xff0c;直接上配置就好了 version: "3.0"services:redisServer1:image: redis:6.2.4container_name: redis_server1volume…

redis之分片集群

写在前面 当redis单实例存储的数据过多时&#xff0c;比如说20G&#xff0c;就会出现因为生成RDB快照较长时间比如500ms阻塞主线程的问题&#xff0c;在这一段时间里&#xff0c;因为主线程被阻塞&#xff0c;所以Redis实例无法正常的对外提供服务&#xff0c;出现这个问题的原…

Redis分片集群(详解+图)

目录 分片集群特征&#xff1a; 散列插槽 集群伸缩 创建新的redis实例 添加新节点到redis 转移插槽 故障转移 自动故障转移 手动故障转移 RedisTemplate访问分片集群 主从和哨兵可以解决高可用、高并发读的问题。但是依然有两个问题没有解决&#xff1a; 海量数据存储问…

redis分片_Redis分片

redis分片 本文是我们学院课程的一部分&#xff0c;标题为Redis NoSQL键值存储 。 这是Redis的速成课程。 您将学习如何安装Redis和启动服务器。 此外&#xff0c;您还会在Redis命令行上乱七八糟。 接下来是更高级的主题&#xff0c;例如复制&#xff0c;分片和集群&#xff0…

(分布式缓存)Redis分片集群

对应的教程视频: 高级篇Day3-04-Redis分片集群_哔哩哔哩_bilibili 一.搭建分片集群 1.集群结构 分片集群需要的节点数量较多&#xff0c;这里我们搭建一个最小的分片集群&#xff0c;包含3个master节点&#xff0c;每个master包含一个slave节点&#xff0c;结构如下&#xff…

Docker中搭建redis分片集群,搭建redis哨兵结构,实现springboot中对redis分片集群、哨兵结构的访问,Redis缓存雪崩、缓存击穿处理(非关系型数据库技术课程 第十二周)

文章目录 一、要求&#xff1a;二、知识总结缓存雪崩解决方案 docker中redis分片集群搭建配置好配置文件redis-6380.confredis-6381.confredis-6382.confredis-6383.confredis-6384.confredis-6385.conf 将conf_cluster文件夹移动到对应位置docker中运行对应的redis容器docker中…