根据提供的代码,您的QLabel(lbl_msg)的大小是由其父窗口(QWidget)来管理的。在sendtext函数中,您通过setText方法设置了文本内容,但没有直接调整QLabel的大小。
要实现内容变化时QLabel自适应大小,可以尝试在sendtext函数中添加以下代码:
void Widget::sendtext(QString text)
{
ui->lbl_msg->setText(text);
height=ui->lbl_msg->height();
resize(801, height + 50);
// 调整lbl_msg的大小以适应文本内容
ui->lbl_msg->adjustSize();
}
这样,在设置文本后会先调整窗口大小,然后再调用adjustSize方法调整QLabel的大小以适应新的文本内容。
内容由零声教学AI助手提供,问题来源于学员提问