我在QT Designer中设计了一个label,需要从cpp实现中设置文本。这个管用但是,文本格式(大小和粗体)将被删除。如何在保留ui文件中的格式的同时设置文本?样品:
ui->label_version->setText(QString::fromStdString("1.0.0"));
dpiehjr41#
你可以用文本编辑器打开你的ui文件来检查设置了什么测试。实际上,Qt使用HTML来格式化文本。你也可以设置stylesheet。要保存格式,您可以尝试以下操作:1.在ui 2中设置文本“%1”。保存更改前的文本3.使用保存的文本+ .arg设置新文本
ui
.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")); }
w8ntj3qf2#
我发现了真实的的问题。我在富文本编辑器中设置了文本格式。我需要做的是在QtWidget属性中设置标签的格式。当这一点被改变时,设置新文本时,所有内容都被保留。
oknrviil3#
对我来说有效的解决方案是在开始时(设计器或代码)将textFormat设置为PlainText,这样,无论何时您setText,它都会保持格式。
9o685dep4#
在Qt Creator中简单地应用对齐属性;简单的text-align: center不足以在现有Widget上设置新文本:QLabel Properties
text-align: center
4条答案
按热度按时间dpiehjr41#
你可以用文本编辑器打开你的
ui
文件来检查设置了什么测试。实际上,Qt使用HTML来格式化文本。你也可以设置stylesheet。要保存格式,您可以尝试以下操作:1.在
ui
2中设置文本“%1”。保存更改前的文本3.使用保存的文本+.arg
设置新文本w8ntj3qf2#
我发现了真实的的问题。我在富文本编辑器中设置了文本格式。我需要做的是在QtWidget属性中设置标签的格式。当这一点被改变时,设置新文本时,所有内容都被保留。
oknrviil3#
对我来说有效的解决方案是在开始时(设计器或代码)将textFormat设置为PlainText,这样,无论何时您setText,它都会保持格式。
9o685dep4#
在Qt Creator中简单地应用对齐属性;简单的
text-align: center
不足以在现有Widget上设置新文本:QLabel Properties