帮我写一个Qt在子线程实现实时显示当前时间的代码
时间: 2024-05-01 11:18:49 浏览: 11
好的,以下是一个简单的Qt代码示例,可以在子线程中实时显示当前时间:
```cpp
#include <QApplication>
#include <QThread>
#include <QLabel>
class TimeThread : public QThread {
public:
void run() override {
while (true) {
emit currentTime(QTime::currentTime().toString("hh:mm:ss"));
msleep(1000);
}
}
signals:
void currentTime(QString);
};
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
QLabel label;
label.show();
TimeThread thread;
QObject::connect(&thread, &TimeThread::currentTime, &label, &QLabel::setText);
thread.start();
return a.exec();
}
```
这个代码创建了一个名为`TimeThread`的子线程类,该类在运行时不断获取当前时间并将其发送到主线程。主线程创建了一个`QLabel`控件用于显示时间,并将`TimeThread`的`currentTime`信号连接到该控件的`setText`槽上,从而实现了实时更新时间的效果。
希望这个代码对你有所帮助!