广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >Qt实现电子时钟的示例代码
  • 391
分享到

Qt实现电子时钟的示例代码

2024-04-02 19:04:59 391人浏览 独家记忆
摘要

目录一、项目介绍二、项目基本配置三、UI界面设计四、主程序实现4.1 添加新文件4.2 digiclock.h头文件4.3 digiclock.cpp源文件4.4 main.cpp源

一、项目介绍

利用Qt实现显示与桌面上并可以随意拖拽至桌面任意位置的电子时钟案例。

二、项目基本配置

新建一个Qt案例,项目名称为“Clock”,基类选择“QDialog”,取消创建UI界面复选框的选中状态。

三、UI界面设计

无UI界面

四、主程序实现

4.1 添加新文件

添加新文件:

选择“c++ Class”选项,单击“Choose”按钮,选择“Base class”文本框中输入基类名“QLCDNumber”(手动添加),在“Class name”文本框中输入类的名称“DigiClock”:

4.2 digiclock.h头文件

代码如下:

#ifndef DIGICLOCK_H
#define DIGICLOCK_H

#include <QLCDNumber>

class DigiClock : public QLCDNumber
{
    Q_OBJECT
public:
    DigiClock(QWidget *parent=0);
    void mousePressEvent(QMouseEvent *);
    void mouseMoveEvent(QMouseEvent *);

public slots:
    void showTime();    //显示当前时间

private:
    QPoint dragPosition;  //保存鼠标点相对电子时钟窗体左上角的偏移量
    bool showColon;       //用于显示时间时是否显示:
};

#endif // DIGICLOCK_H

4.3 digiclock.cpp源文件

首先,DigiClock类继承自QLCDNumber类:

DigiClock::DigiClock(QWidget *parent):QLCDNumber(parent)
{
//设置时钟背景
QPalette p=palette();//定义调色板对象
p.setColor(QPalette::Window,Qt::blue);//设置背景颜色为蓝色
setPalette(p);//启用调色板对象
setWindowFlags(Qt::FramelessWindowHint);//生成无边界窗口
setWindowOpacity(0.5);//设置窗体透明度为0.5
QTimer *timer=new QTimer(this);//新建定时器对象
connect(timer,SIGNAL(timeout()),this,SLOT(showTime()));//连接定时器地timeout()信号与显示时间的槽信号showTime()
timer->start(1000);//启动定时器(每隔1000ms启动一次)
showTime();//初始时间显示
resize(150,60);//设置电子时钟显示的尺寸
showColon=true;//初始化

}

然后定义槽函数showTime(),完成电子钟的显示时间功能:

//槽函数showTime()
void DigiClock::showTime()
{
    QTime time=QTime::currentTime();    //获取当前系统时间
    QString text=time.toString("hh:mm");//获取的当前时间转换为字符串类型
    if(showColon)                        //控制:闪烁
    {
        text[2]=':';
        showColon=false;
    }
    else
    {
        text[2]=' ';
        showColon=true;
    }
    display(text);    //显示转换好的字符串时间
}

接着,定义鼠标按下事件响应函数:

//鼠标按下事件响应函数
void DigiClock::mousePressEvent(QMouseEvent *event)
{
    if(event->button()==Qt::LeftButton) //判断按下键是否为鼠标左键
    {
        //dragPosition=event->globalPos()-frameGeometry().topLeft();
        dragPosition=event->pos();//两种方法
        //event->accept();//接收事件
    }
    if(event->button()==Qt::RightButton)    //若按下键为鼠标右键
    {
        close();//退出
    }
}

定义鼠标移动事件响应函数,实现拖拽功能:

//鼠标移动响应函数
void DigiClock::mouseMoveEvent(QMouseEvent *event)
{
    if(event->buttons()&Qt::LeftButton)
    {
        move(event->globalPos()-dragPosition);
        //event->accept();//接收事件
    }
}

4.4 main.cpp源文件

代码如下:

#include "dialog.h"
#include <QApplication>
#include"digiclock.h"
int main(int arGC, char *argv[])
{
    QApplication a(argc, argv);

    DigiClock clock;
    clock.show();
//    Dialog w;
//    w.show();
    return a.exec();
}

五、效果演示

到此这篇关于Qt实现电子时钟的示例代码的文章就介绍到这了,更多相关Qt电子时钟内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Qt实现电子时钟的示例代码

本文链接: https://www.lsjlt.com/news/151913.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Qt实现电子时钟的示例代码
    目录一、项目介绍二、项目基本配置三、UI界面设计四、主程序实现4.1 添加新文件4.2 digiclock.h头文件4.3 digiclock.cpp源文件4.4 main.cpp源...
    99+
    2022-11-13
  • Qt实现电子时钟
    本文实例为大家分享了Qt实现电子时钟的具体代码,供大家参考,具体内容如下 进一步认识Qt中的属性,我们现在再做一个小练习,去实现一个简易版电子时钟的效果。 效果展示: 新建项目: ...
    99+
    2022-11-13
  • Qt怎么实现电子时钟
    今天小编给大家分享一下Qt怎么实现电子时钟的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、项目介绍利用Qt实现显示与桌面上...
    99+
    2023-07-02
  • Qt实现简易计时器的示例代码
    目录一、项目介绍二、项目基本配置三、UI界面设计四、主程序实现4.1 mainwindow.h头文件4.2 mainwindow.cpp源文件五、效果演示一、项目介绍 计时器实现四个...
    99+
    2022-11-13
  • Python绘制时钟的示例代码
    目录导入需要的包设置变量写数字绘制时针完整代码导入需要的包设置变量 from datetime import datetime from pygame.locals import *...
    99+
    2022-11-13
  • Qt实现http服务的示例代码
    先看执行结果: Qt HttpServer 左边是开启的Qt Http服务,监控服务端口,及接收客户端请求;右侧是浏览器访问服务。 下面是具体代码: HttpDemo.pro QT...
    99+
    2023-05-15
    Qt实现http服务 Qt http服务 Qt http
  • Qt实现网络聊天室的示例代码
    目录1. 效果演示2. 预备知识2.1 QTcpServer2.2 QTcpServer信号2.3 QTcpSocket2.4 QTcpSocket信号3. 通信流程3.1 服务器端...
    99+
    2022-11-12
  • Qt实现对齐线功能的示例代码
    目录现有功能运行结果源码button.hbutton.cppwindow.hwindow.cppmain.cpp现有功能 1.添加任意数量的按钮。 2.移动按钮,通过对齐线来设置按钮...
    99+
    2022-11-13
  • Qt超时锁屏的实现示例
    概述 Qt实现超时锁屏的功能(工控机触摸屏),当手长时间不触摸屏幕的时候,程序超时会显示锁屏窗口。 效果 主窗口超时显示锁屏窗口: 系统窗口超时显示锁屏窗口: 实现思路 首先开...
    99+
    2022-11-12
  • Qt实现绘制网格背景的示例代码
    目录现有功能运行结果源码window.hwindow.cppmain.cpp现有功能 使用滚轮缩放。缩放到达一定阈值后恢复网格大小。窗口大小调整时网格背景也自动调整重绘。 运行结果 ...
    99+
    2022-11-13
  • Qt实现字幕滚动效果的示例代码
    目录一、项目介绍二、项目基本配置三、UI界面设计四、主程序实现4.1 widget.h头文件4.2 widget.cpp源文件五、效果演示一、项目介绍 利用QTimer实现字幕滚动功...
    99+
    2022-11-13
  • Qt实现数据导出到xls的示例代码
    目录一、前言二、功能特点三、体验地址四、效果图五、相关代码一、前言 导入导出数据到csv由于语法简单,适用场景有限,于是乎还是必须再造一个轮子导出数据到xls,在经历过数十年的项目实...
    99+
    2022-11-12
  • QT实现单词检索软件的示例代码
    功能介绍 1、可检测出英文内容中某个单词出现的次数2、可从英文内容中提取以某个字母为首的所有单词3、可将修改的内容从新保存到txt文件中 源代码 .pro文件 无增改 .h文件 #i...
    99+
    2022-11-13
  • Matlab绘制有趣的罗盘时钟的示例代码
    目录绘制效果完整代码一期趣味编程哈,如何使用MATLAB绘制罗盘时钟: 绘制效果 完整代码 function compassClock % @author : slandarer...
    99+
    2023-01-28
    Matlab绘制罗盘时钟 Matlab绘制时钟 Matlab时钟
  • QT实现年会抽奖小软件的示例代码
    目录一、效果展示:二、软件代码介绍1、工程目录2、核心代码之主类代码部分3、核心代码之线程类代码部分一、效果展示: 1、操作说明 下拉选择主题,点击开始按钮,开始滚动,再次点击停止,...
    99+
    2022-11-13
  • Qt实现简易毛玻璃效果的示例代码
    目录现有功能运行结果源码frosted_glass_label.hfrosted_glass_label.cppmain.cpp现有功能 1.用模糊功能实现简易的毛玻璃效果。 2.鼠...
    99+
    2022-11-13
  • C/C++ QT实现解析JSON文件的示例代码
    JSON是一种轻量级的数据交换格式,它是基于ECMAScript的一个子集,使用完全独立于编程语言的文本格式来存储和表示数据,简洁清晰的的层次结构使得JSON成为理想的数据交换语言,...
    99+
    2022-11-12
  • 基于Qt实现图片播放器的示例代码
    前言:使用qt制作了一个简单的图片播放器,可以播放gif、png等格式图片 先来看看播放器的功能(当然是很简陋的,没有很深入的设计): 1、点击图片列表中图片进行播放。 2、自动播放...
    99+
    2022-12-16
    Qt实现图片播放器 Qt图片播放器 Qt图片播放
  • QT实现制作一个ListView列表的示例代码
    目录1、概述2、代码示例1.自定义QListWidget2.自定义QListWidgetItem3.使用3、图片演示1、概述 案例:使用Qt制作一个ListView。点击ListVi...
    99+
    2023-02-23
    QT制作ListView列表 QT ListView列表 QT ListView
  • Qt利用QNetwork实现上传数据的示例代码
    目录1、利用Qt提供的类实现向服务器发送post和get请求2、实现文件上传1、利用Qt提供的类实现向服务器发送post和get请求 #include <QCoreApplic...
    99+
    2023-02-24
    Qt QNetwork实现上传数据 Qt QNetwork上传数据 Qt QNetwork
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作