why i am not able to see text data on dynamic label ?
-
#include "widget.h"
#include "ui_widget.h"
#include <QLabel>
#include <qdatetime.h>
#include <qtimer.h>
#include <qthread.h>
#define TIMEOUT 300Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);QTimer::singleShot(1000,this, SLOT(shutdownlabel())); mtime= QDateTime::currentMSecsSinceEpoch();
}
Widget::~Widget()
{
delete ui;
}void Widget::shutdownlabel()
{qint64 Newtime = QDateTime::currentMSecsSinceEpoch() - mtime; //PRINT_INFO<<"newtime: " << Newtime/1000; Timeremain = TIMEOUT - (Newtime/1000); QLabel *label = new QLabel(ui->frame_2); label->setStyleSheet("border:1px solid black;text-align:cetre;"); label->setGeometry(50,1,202,20); label->setText("first line"); label->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter); QThread::msleep(200);
}
-
What is
ui->frame_2
?You don't call
label->show()
anywhere, so it probably stays hidden. -
@Qt-embedded-developer said in why i am not able to see text data on dynamic label ?:
QThread::msleep(200);
Additional to @sierdzio , what is this doing here? It's going to cause you problems....
-
when i wrote below part in constructor it shows label data without label->show()
why this happen ?
qint64 Newtime = QDateTime::currentMSecsSinceEpoch() - mtime;
//PRINT_INFO<<"newtime: " << Newtime/1000;
Timeremain = TIMEOUT - (Newtime/1000);QLabel *label = new QLabel(ui->frame_2);
label->setStyleSheet("border:1px solid black;text-align:cetre;");
label->setGeometry(50,1,202,20);
label->setText("first line");
label->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
QThread::msleep(200); -
@Qt-embedded-developer said in why i am not able to see text data on dynamic label ?:
when i wrote below part in constructor it shows label data without label->show()
why this happen ?
Because then your Widget already has this label created when you call
Widget->show()
elsewhere in your code.