我可以帮您翻译成中文。以下是需要翻译的内容:
我在Qt应用程序中有以下层次结构: QMainWindow > QWidget(中心窗口)> QWidget(子类化)> QLabel
我的QMainWindow代码中的初始化代码:
centralWidget = new QWidget();
centralWidget->setGeometry(0,0,width,height);
chatWidget=new ChatWidget(this); // the subclassed QWidget
setCentralWidget(centralWidget);
在我的子类QWidget初始化中(与Qt应用程序初始化同时进行),我有以下代码:
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
}
当QLabel从类初始化中添加时,消息会在小部件中很好地显示。
但是当我在同一QWidget子类的函数中通过按钮按下启动相同的代码时,则不会在屏幕上显示文本。
我不想使用布局,因为我需要精确定位我的标签。
尝试重新绘制,但也没有帮助。
如何在初始化完成后正确和动态地显示标签?