I want to create a program by using Qt framework. The aim is to write a program which uses QThread to show a simple digital clock. but nothing happened when running.
This is the subclass of Qthread for running
paytamtimers.h
#ifndef PAYTAMTIMERS_H
#define PAYTAMTIMERS_H
#include <QThread>
class PaytamTimers:public QThread
{
    Q_OBJECT
public:
    PaytamTimers();
QString now;
protected:
    virtual void run();
private:
    QMutex mutex;
    QThread *thread;
signals:
    void mySignal(QString);
};
#endif // PAYTAMTIMERS_H
and this is the implementation of this.class paytamtimers.cpp
#include "paytamtimers.h"
#include <QTime>
PaytamTimers::PaytamTimers()
{
    this->now="";
    this->thread=new QThread(0);
}
void PaytamTimers::run(){
forever{
    mutex.lock();
    this->now=QTime::currentTime().toString();
    this->thread->sleep(1000);
    emit mySignal(this->now);
    mutex.unlock();
}
}
and this is the implementation of GUI form. This for consist of QLabel and an instance of paytamtimers,just for simplity
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "paytamtimers.h"
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    t=new PaytamTimers();
    t->start();
    connect(t,SIGNAL(t->mySignal(QString)),this,SLOT(this->now(const QString &string)));
}
MainWindow::~MainWindow()
{
    delete ui;
}
void MainWindow::now(const QString &string){
    this->ui->label->setText(t->now);
}
 
     
     
     
    