Qt5 实现主窗口状态栏显示时间

 更新时间:2021年03月17日 17:16:33   作者:落叶_小唱  
这篇文章主要介绍了Qt5 实现主窗口状态栏显示时间,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

使用Qt Creator创建默认的窗体程序后,主窗口QMainWindow有statusBar状态栏,在此状态栏实时显示时间可以使用下面方法实现:

mainwindow.h文件内容:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <mydialog.h>
#include <QLabel>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
  Q_OBJECT
public:
  explicit MainWindow(QWidget *parent = 0);
  ~MainWindow();
private slots:
  void on_actionNew_Window_triggered();
  void time_update(); //时间更新槽函数,状态栏显示时间
private:
  Ui::MainWindow *ui;
  QLabel *currentTimeLabel; // 先创建一个QLabel对象
  MyDialog *mydialog;
};
#endif // MAINWINDOW_H

mainwindow.c文件内容:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "mydialog.h"
#include <QLabel>
#include <QDateTime>
#include <QTimer>
#include <QString>
MainWindow::MainWindow(QWidget *parent) :
  QMainWindow(parent),
  ui(new Ui::MainWindow)
{
  ui->setupUi(this);
  currentTimeLabel = new QLabel; // 创建QLabel控件
  ui->statusBar->addWidget(currentTimeLabel); //在状态栏添加此控件
  QTimer *timer = new QTimer(this);
  timer->start(1000); //每隔1000ms发送timeout的信号
  connect(timer, SIGNAL(timeout()),this,SLOT(time_update()));
}
MainWindow::~MainWindow()
{
  delete ui;
}
void MainWindow::on_actionNew_Window_triggered()
{
  mydialog = new MyDialog;
  mydialog->show();
}
void MainWindow::time_update()
{
  //[1] 获取时间
  QDateTime current_time = QDateTime::currentDateTime();
  QString timestr = current_time.toString( "yyyy年MM月dd日 hh:mm:ss"); //设置显示的格式
  currentTimeLabel->setText(timestr); //设置label的文本内容为时间
}

补充:Qt 通过QLabel控件来显示实时日期时间

头文件需添加:

#include <QTimer>

构造函数中:

//日期/时间显示
QTimer *timer = new QTimer(this);
connect(timer,SIGNAL(timeout()),this,SLOT(timerUpdate()));
timer->start(1000);

定义成员函数timerUpdate()实现用户界面显示时间:

void userwindow::timerUpdate()
{
  QDateTime time = QDateTime::currentDateTime();
  QString str = time.toString("yyyy-MM-dd hh:mm:ss dddd");
  ui->dateTime->setText(str);
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • 深入浅析python变量加逗号,的含义

    深入浅析python变量加逗号,的含义

    这篇文章主要介绍了python变量加逗号,的含义,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • tornado 多进程模式解析

    tornado 多进程模式解析

    这篇文章主要介绍了tornado 多进程模式解析,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Keras多线程机制与flask多线程冲突的解决方案

    Keras多线程机制与flask多线程冲突的解决方案

    这篇文章主要介绍了Keras多线程机制与flask多线程冲突的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • python3+PyQt5 数据库编程--增删改实例

    python3+PyQt5 数据库编程--增删改实例

    今天小编就为大家分享一篇python3+PyQt5 数据库编程--增删改实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • 利用Python NumPy库及Matplotlib库绘制数学函数图像

    利用Python NumPy库及Matplotlib库绘制数学函数图像

    最近开始学习数学了,有一些题目的函数图像非常有特点,下面这篇文章主要给大家介绍了关于利用Python NumPy库及Matplotlib库绘制数学函数图像的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • 使用Python发送HTML格式邮件的步骤详解

    使用Python发送HTML格式邮件的步骤详解

    在现代通信中,电子邮件是一种常见的沟通方式,通过Python编程语言,您可以使用内置的库来发送邮件,并在邮件中嵌入HTML内容和图片,本文将介绍如何使用Python发送带有HTML格式内容,以及涉及的步骤和代码示例
    2023-08-08
  • python用pyecharts画地图实例介绍

    python用pyecharts画地图实例介绍

    大家好,本篇文章主要讲的是python用pyecharts画地图实例介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • 浅析Python中的序列化存储的方法

    浅析Python中的序列化存储的方法

    这篇文章主要介绍了Python中的序列化存储的方法,序列化存储主要针对的是内存和硬盘之间的写入操作,需要的朋友可以参考下
    2015-04-04
  • Python面试不修改数组找出重复的数字

    Python面试不修改数组找出重复的数字

    这篇文章主要为大家介绍了不修改数组找出重复的数字Python实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 基于PyQt5制作Excel文件数据去重小工具

    基于PyQt5制作Excel文件数据去重小工具

    这篇文章主要介绍了如何利用PyQt5模块制作一个Excel文件数据去重小工具,可以将单个或者多个Excel文件数据进行去重操作,去重的列可以通过自定义制定,需要的可以参考一下
    2022-04-04

最新评论