我已经在QT Designer中设计了label,并且需要从cpp实现中进行set the text。这可行。但是,文本格式(大小和粗体)已被删除。
如何在保留ui文件格式的同时设置文本?
示例:
ui->label_version->setText(QString::fromStdString("1.0.0"));
答案 0 :(得分:1)
您可以使用文本编辑器打开ui
文件,以检查设置了什么测试。实际上,Qt使用HTML格式化文本。另外,您可以设置stylesheet。
要保存格式,您可以尝试以下操作:
1.在ui
中设置文本“%1”
2.在更改之前保存文本
3.使用保存的文字+ .arg
设置新文字
Constructor()
{
this->m_savedText = m_ui->myLabel->text();
m_ui->myLabel->setText(this->m_savedText.arg("Default text"));
}
handler()
{
m_ui->myLabel->setText(this->m_savedText.arg("New text"));
}
答案 1 :(得分:0)
我找到了真正的问题。我已经在RTF编辑器中设置了文本格式。我需要做的是使用QtWidget属性设置标签的格式。更改后,设置新文本时将保留所有内容。