QT代码框架小案例:一个简单的时间类(Time)及其实例化程序,模拟了时间的设置、显示和自动流逝功能,类似一个简易电子时钟。

一、代码框架

二、运行终端显示

三、代码详细注释

test.pro

# 指定项目类型为应用程序(而非库或其他类型)
TEMPLATE = app# 配置项目:启用控制台输出,使用C++11标准
CONFIG += console c++11# 移除配置:不生成应用程序捆绑包(主要用于macOS等平台)
CONFIG -= app_bundle# 移除配置:不使用Qt框架
CONFIG -= qt# 源文件列表:列出项目中所有的.cpp源文件
SOURCES += \main.cpp \mytime.cpp# 头文件列表:列出项目中所有的.h头文件
HEADERS += \mytime.h

mytime.h

#ifndef MY_TIME_H
#define MY_TIME_H
// 时间类
class Time {
public:
// 构造函数
Time (int h=23,int m=59,int s=55);
// 接口 --- 成员函数
// 设置和获取小时的接口
void set_hour (int h);
int get_hour ();
// 设置时间
void set_time (int h=23,int m=59,int s=55);
// 打印时间
void print_time ();
// 时间运行(流逝)
void run ();
private:// 私有成员
// 数据 --- 成员变量
int hour;// 时
int min;// 分
int sec;// 秒
};
#endif // MY_TIME_H

main.cpp

//#include <iostream>
//#include "mytime.h"//using namespace std;//int main()
//{
//    Time t;//    return 0;
//}#include <iostream>
#include "mytime.h"
#include <unistd.h> // Linux/Unix系统休眠函数头文件
// #include <windows.h> // Windows系统需替换为该头文件using namespace std;int main()
{Time t;  // 创建Time对象,默认初始时间23:59:55// 无限循环,持续更新并显示时间while (true) {t.print_time();  // 显示当前时间(格式HH:MM:SS)t.run();         // 时间递增1秒sleep(1);        // 休眠1秒(Linux/Unix)// Sleep(1000);   // Windows系统使用该语句,单位为毫秒cout.flush();    // 强制刷新输出,确保时间实时显示}return 0;
}

mytime.cpp

#include "mytime.h"
#include <iostream>
#include <unistd.h>
#include <iomanip>using namespace std;// 构造函数实现,初始化时、分、秒
Time::Time(int h, int m, int s) : hour(h), min(m), sec(s)
{
}// 设置小时
void Time::set_hour(int h)
{hour = h;
}// 获取小时
int Time::get_hour()
{return hour;
}// 设置时间(时、分、秒)
void Time::set_time(int h, int m, int s)
{hour = h;min = m;sec = s;
}// 打印时间,格式为 HH:MM:SS,不足两位的数字前补0
void Time::print_time()
{std::cout << setw(2) << setfill('0') << hour << ":"<< setw(2) << setfill('0') << min << ":"<< setw(2) << setfill('0') << sec << "\r";
}// 时间运行(每秒递增1秒,并处理进位逻辑)
void Time::run()
{sec++;if (sec == 60) {       // 秒满60进1分钟sec = 0;min++;if (min == 60) {   // 分钟满60进1小时min = 0;hour++;if (hour == 24) {  // 小时满24重置为0hour = 0;}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/96598.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/96598.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nacos-11--Nacos热更新的原理

在Nacos中&#xff0c;当监听到配置变化后&#xff0c;Nacos提供了相关机制&#xff08;长轮询或gRPC&#xff09;让客户端能够监听到配置的变化&#xff0c;并触发相应的监听器&#xff08;Listener&#xff09;&#xff0c;但具体的处理逻辑需要根据实际需求来实现。 1、热更…

fastapi 的BackgroundTasks

什么是 BackgroundTasks&#xff1f;BackgroundTasks 是 FastAPI 提供的一个强大工具&#xff0c;它允许你将一些非紧急的、耗时的操作&#xff08;例如发送邮件、处理数据、调用第三方 API 等&#xff09;放到“后台”去执行&#xff0c;而不是让用户一直等待这些操作完成。它…

Python 十进制转二进制

在 Python 中&#xff0c;将十进制整数转换为二进制有多种方法。以下是几种常见的方式&#xff1a;1. 使用 bin() 函数bin() 是 Python 内置函数&#xff0c;可以将十进制整数转换为二进制字符串。语法bin(n)示例n 13 binary_str bin(n) print(binary_str) # 输出: 0b1101说…

合并工作表,忽略手动隐藏行超简单-Excel易用宝

同事小丽有一个工作簿&#xff0c;文件中有多个工作表&#xff0c;每个工作表中有多行数据&#xff0c;这些表格中数据是有手动隐藏行的&#xff0c;她想把这些表格的数据忽略隐藏行合并到一个工作表中&#xff0c;但是使劲浑身解数&#xff0c;各种折腾&#xff0c;都会把隐藏…

我从零开始学习C语言(14)- 基本类型 PART1

今天学习第7章-基本类型&#xff0c;主要内容如下&#xff1a;7.1 整数类型这里的整数的整数值就是数学意义上的整数。C语言支持两种本质上&#xff08;存储形式&#xff09;不同的数值类型&#xff1a;整数类型&#xff08;简称整型&#xff09;和浮点类型&#xff08;简称浮点…

Flutter - UI布局

一、容器Widget1. ScaffoldScaffold 作为页面的脚手架&#xff0c;基础区域包含顶部导航栏 appBar、主体内容区 body、侧边抽屉 drawer、悬浮按钮 floatingActionButton、底部导航栏 bottomNavigationBar。Scaffold(appBar: AppBar( // 顶部导航栏title: Text(首页),),body: Ce…

UNIKGQA论文笔记

UNIKGQA: UNIFIED RETRIEVAL AND REASONING FOR SOLVING MULTI-HOP QUESTION ANSWERING OVER KNOWLEDGE GRAPH(ICLR 2023)Introduction知识图上的多跳问题回答&#xff08;KGQA&#xff09;的目的是在大规模知识图谱&#xff08;KG&#xff09;上找到自然语言问题中提到的主题实…

MySQL 8.0.17 “Too Many Connections” 排查指南

MySQL 8.0.17 “Too Many Connections” 排查与优化指南 在 MySQL 8.0.17 中&#xff0c;当出现“Too many connections”错误时&#xff0c;通常意味着数据库连接数已达上限。这不仅会影响应用性能&#xff0c;还可能导致连接池&#xff08;如 Druid&#xff09;无法获取新连接…

GEO优化服务:智能时代营销新赛道的中国引领者——全球行业格局与发展趋势观察

随着全球人工智能技术的迅猛发展&#xff0c;以GPT-5、Claude Opus以及我国的DeepSeek Divine、豆包等为代表的新一代生成式AI搜索引擎&#xff0c;正深刻改变着信息获取与商业决策模式。用户通过直接向AI提问获取整合答案的行为日益普遍&#xff0c;传统搜索引擎的流量入口地位…

全面解析主流AI模型:功能对比与应用推荐

全面解析主流AI模型&#xff1a;功能对比与应用推荐 在当前人工智能技术飞速发展的背景下&#xff0c;市面上涌现了多种具备不同能力的AI模型。本文将系统梳理主流模型的特性、对比其核心能力&#xff0c;并结合实际场景推荐高效、稳定的API服务&#xff08;如https://api.aaa…

【Nacos知识】Nacos 作为注册中心的客户端配置详解

Nacos 作为注册中心的客户端配置详解Nacos 作为注册中心的客户端配置详解一、核心配置项全景图二、基础连接配置1. 服务端地址配置2. 命名空间配置3. 服务分组配置三、服务注册配置1. 服务元数据配置2. 网络位置配置3. 集群与权重配置四、健康检查配置1. 心跳参数配置2. 健康检…

TypeReference 泛型的使用场景及具体使用流程

简介 在 Java 中&#xff0c;泛型类型在运行时会被擦除。这意味着当我们使用泛型时&#xff0c;运行时无法直接获取到泛型的具体类型信息。例如&#xff0c;我们无法直接通过 Class 对象来获取一个泛型类型的类型参数。这在某些情况下可能会导致问题&#xff0c;特别是在我们需…

商超场景徘徊识别误报率↓79%!陌讯多模态时序融合算法落地优化

原创声明本文为原创技术解析文章&#xff0c;核心技术参数与架构设计引用自 “陌讯技术白皮书&#xff08;2024 版&#xff09;”&#xff0c;所有技术描述均经过重写转换&#xff0c;无复制官网文案行为&#xff0c;严禁未经授权转载。一、行业痛点&#xff1a;徘徊识别的场景…

KubeBlocks AI:AI时代的云原生数据库运维探索

KubeBlocks AI&#xff1a;AI时代的云原生数据库运维探索 REF Auto-detect-failure 架构Auto-bug-detect测试 引言 传统的自动化运维诊断主要依赖基于规则的方法——无论是Ansible Playbooks的预定义脚本&#xff0c;还是Kubernetes Operator的固化逻辑&#xff0c;这些方法…

如何编译botan加密库?

Botan加密库支持2.x版本和3.x版本&#xff0c;其中3.x版本需要支持C20。0、下载源码git clone https://github.com/randombit/botan.gitcd botan切换分支到2.19.5版本git checkout 2.19.51、Windows编译Botan加密库1.1 配置生成MakefileRelease模式python configure.py --ccmsv…

Linux问答题:分析和存储日志

目录 1. RHEL 日志文件保存在哪个目录中&#xff1f; 2.什么是 syslog 消息和非 syslog 消息&#xff1f; 3.哪两个服务处理 RHEL 中的 syslog 消息&#xff1f; 4. 列举常用的系统日志文件并说明其存储的消息类型。 5. 简单说下日志文件轮转的作用 6.systemd-journald 服…

chapter05_从spring.xml读取Bean

一、简化Bean的注册 如果每次注册一个Bean&#xff0c;都要像上节一样&#xff0c;手动写PropertyValues相关的代码&#xff0c;那太复杂了&#xff0c;我们希望读取XML文件&#xff0c;自动注册Bean&#xff0c;这样对于使用者&#xff0c;甚至不知道有BeanDefinition的存在 二…

【数位DP】D. From 1 to Infinity

Problem - D - Codeforces 题目&#xff1a; 思路&#xff1a; 数位DP 数论 题目让我们求这个无限序列 123456789101112.... 的前 k 个数的数位和 题目看起来很不好求&#xff0c;事实上确实是这样的 我们可以先从简单问题开始 问题①. 求 k 位置对应着第几个数 那么显然…

gitlab、jenkins等应用集成ldap

gitlab、jenkins等应用集成ldap 文档 openldap安装 -添加条目gitlab、jenkins等应用集成ldap gitlab集成ldap gitlab版本&#xff1a;gitlab-jh-17.7.0 ldap版本&#xff1a;openldap-2.6.10 修改/etc/gitlab/gitlab.rb文件&#xff0c;编辑相关信息 gitlab_rails[ldap_en…

Unity中国小游戏行业沙龙:抖音小游戏平台分析与规划

目录 一、抖音小游戏市场全景分析 行业现状与发展趋势 行业发展关键议题 内容运营生态观察 二、平台技术架构与运营体系 用户复访与留存体系 技术支撑体系 三、平台激励与商业化政策 收益分成机制 资金服务升级 技术基础建设 四、生态合作与发展规划 开发者支持体系…