QLabel não é exibido no QWidget

Eu tenho a seguinte hierarquia no meu aplicativo Qt: QMainWindow> QWidget (centralWidget)> QWidget (subclasse)> QLabel

Código de inicialização no meu código QMainWindow:

centralWidget = new QWidget();
centralWidget->setGeometry(0,0,width,height);
chatWidget=new ChatWidget(this); // the subclassed QWidget
setCentralWidget(centralWidget);

Na minha inicialização subclassificada do QWidget (que acontece ao mesmo tempo que a inicialização do Qt App), tenho o seguinte código:

ChatWidget::ChatWidget(QWidget *parent):QWidget(parent)
{
    QLabel  *lbl;
    lbl=new QLabel(this);
    lbl->setText("Hello World 1"); <-- Is properly Display
}

void ChatWidget::displayChatAfterButtonPressed()
{
    QLabel *lbl;
    lbl=new QLabel(this);
    lbl->setText("Hello World 2"); <-- Does NOT appear
}

Quando o QLabel é adicionado a partir da inicialização da classe, a mensagem é bem exibida no widget.

No entanto, quando inicio o mesmo código depois que um botão é pressionado (através de uma função na mesma subclasse QWidget), o texto não aparece na tela.

Não quero usar layouts, pois preciso posicionar exatamente meus rótulos.

Tentou repintar, mas também não ajudou.

Como posso exibir um rótulo de forma adequada e dinâmica após a inicialização?

questionAnswers(2)

yourAnswerToTheQuestion