QT实现电子表digitalclock

实现的效果

QT实现电子表digitalclock_第1张图片

实现的思路

QT实现电子表digitalclock_第2张图片

创建步骤

1、新建项目

QT实现电子表digitalclock_第3张图片
QT实现电子表digitalclock_第4张图片
QT实现电子表digitalclock_第5张图片
下一步,下一步,完成,创建完成,项目结构如下:
QT实现电子表digitalclock_第6张图片

2、代码实现

DigitalClock.h

#ifndef DIGITALCLOCK_H
#define DIGITALCLOCK_H

#include 

class DigitalClock : public QLCDNumber
{
    Q_OBJECT
public:
    DigitalClock(QWidget *parent = 0);

private slots:
    void showTime();// 相应的槽函数
};

#endif // DIGITALCLOCK_H

DigitalClock.cpp

#include "DigitalClock.h"
#include 
#include 

DigitalClock::DigitalClock(QWidget *parent)
    : QLCDNumber(parent)// 注意这里的构造函数的写法
{
    // 设置样式为填充
    this->setSegmentStyle(Filled);
    // 创建QTimer对象
    QTimer* timer = new QTimer(this);
    // 设置响应的槽函数
    connect(timer,SIGNAL(timeout()),this,SLOT(showTime()));
    // 一秒钟之后开始执行
    timer->start(1000);
    // 调用函数执行一次
    this->showTime();
    // 设置窗口的标题
    this->setWindowTitle(tr("电子表"));
    // 设置窗口的大小
    this->resize(300, 150);
}

void DigitalClock::showTime()
{
    // 获取当前的系统时间
    QTime time = QTime::currentTime();
    // 设置显示的样式
    QString text = time.toString("hh:mm");
    // 如果秒数是偶数,那么就让:消失
    if((time.second() % 2) == 0)
    {
        text[2] = ' ';
    }
    this->display(text);// 显示文本
}

main.cpp

#include 

#include "DigitalClock.h"

int main(int argc, char* argv[])
{
    QApplication app(argc, argv);
    DigitalClock di;
    di.show();
    return app.exec();
}

pro文件

HEADERS += \
    DigitalClock.h

SOURCES += \
    DigitalClock.cpp \
    main.cpp

QT += widgets



你可能感兴趣的:(QT学习)