qt 利用QTimer定时器和QLabel显示系统时间,将标签字体设置成16像素高,标签背景设置 30
1个回答
展开全部
主要代码如下,其他的根据需要自己调整吧。
qlabelsample.h文件
#ifndef QLABELSAMPLE_H
#define QLABELSAMPLE_H
#include <QDialog>
#include <QTimer>
#include <QDateTime>
namespace Ui {
class QLabelSample;
}
class QLabelSample : public QDialog
{
Q_OBJECT
public:
explicit QLabelSample(QWidget *parent = 0);
~QLabelSample();
private slots:
void updateLabelTime(void);
private:
Ui::QLabelSample *ui;
QTimer m_timer;
};
#endif // QLABELSAMPLE_H
qlabelsample.cpp文件
#include "qlabelsample.h"
#include "ui_qlabelsample.h"
QLabelSample::QLabelSample(QWidget *parent) :
QDialog(parent),
ui(new Ui::QLabelSample),
m_timer(this)
{
ui->setupUi(this);
QFont SimSunFont("SimSun", 16);
ui->label->setFont(SimSunFont);
ui->label->setStyleSheet("color:blue; background-color:red");
m_timer.setTimerType(Qt::PreciseTimer);
connect(&m_timer, SIGNAL(timeout()), this, SLOT(updateLabelTime()));
m_timer.start(100);
}
QLabelSample::~QLabelSample()
{
delete ui;
}
void QLabelSample::updateLabelTime(void)
{
ui->label->setText(QDateTime::currentDateTime().toString(Qt::DefaultLocaleLongDate));
}
追答
我用的QDialog做的基类,另外图片里没看到我给的两个文件啊……
提示MainWindow没有定义,和这代码没关系啊。
给你整个工程吧,多少自学一点吧,先把建一个新工程显示个Helloworld之类的搞定啊。
https://raw.githubusercontent.com/Zalafina/swf_test/master/temp/QLabelSample.zip
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询