qt控件显示当前实时时间

效果图

 头文件代码

//所需头文件
#include<QDateTime>
#include<QTimer>
#include<QFont>

//自定义槽函数
private slots:
	void time_out();

cpp代码展示

my_QdataTime::my_QdataTime(QWidget *parent)
	: QMainWindow(parent)
{
	ui.setupUi(this);

	QTimer *t_time = new QTimer(this);
	t_time->start(1000);//设置时间间隔为1秒
	connect(t_time, SIGNAL(timeout()), this, SLOT(time_out()));
	
}

void my_QdataTime::time_out()
{
	QFont t_font;
	t_font.setPointSize(18);
	ui.label->setFont(t_font);//设置字体大小

	QDateTime t_time = QDateTime::currentDateTime();
	QString t_str = t_time.toString("ddd yyyy-MM-dd hh:mm:ss");
	ui.label->setText(t_str);
}

### 实现时间显示功能 为了在Qt界面中显示当前时间,可以利用`QDateTime`类获取系统时间,并借助定时器定期更新界面上的时间标签。下面展示了一个简单的例子,在该实例中创建了一个窗口应用,其中包含一个用于展示实时时间的标签[^1]。 ```cpp #include <QApplication> #include <QWidget> #include <QLCDNumber> // 使用LCD样式显示数字 #include <QVBoxLayout> #include <QTimer> class TimeDisplay : public QWidget { Q_OBJECT public: explicit TimeDisplay(QWidget *parent = nullptr); private slots: void updateTime(); private: QLCDNumber *lcd; }; TimeDisplay::TimeDisplay(QWidget *parent) : QWidget(parent), lcd(new QLCDNumber(this)) { setWindowTitle(tr("Current Time Display")); QVBoxLayout *layout = new QVBoxLayout(this); layout->addWidget(lcd); lcd->setSegmentStyle(QLCDNumber::Filled); // 设置液晶风格 QTimer *timer = new QTimer(this); connect(timer, &QTimer::timeout, this, &TimeDisplay::updateTime); timer->start(1000); // 每隔一秒触发一次信号槽连接 updateTime(); } void TimeDisplay::updateTime() { QTime time = QTime::currentTime(); QString text = time.toString("hh:mm:ss"); lcd->display(text); } ``` 上述代码定义了一个名为`TimeDisplay`的小部件,它继承自`QWidget`并重写了构造函数以初始化UI组件和设置布局。这里使用了`QLCDNumber`控件来模拟电子表盘的效果;同时设置了每秒刷新一次时间显示逻辑,确保屏幕上始终呈现最新的时刻数据。 此外,还可以考虑采用其他类型的可视化方式(比如普通的文本标签),这取决于具体的应用场景和个人偏好。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值