我遇到了QLabel的问题。我有一个带QLabel的QtWidget。现在我想用以下代码更改Label的文本:
QLabel* safetyLabel = this->findChild<QLabel *>("safety_bits");
safetyLabel->setText(QString("test"));
printf("%i", (safetyLabel->text()).length());
但我总是得到“分段错误”。我认为这很简单,但我看不到它......
有什么想法吗?
答案 0 :(得分:0)
如果您使用QtCreators的设计人员在safetyLabel
的构造函数中调用NULL
之前构建用户界面并执行代码,则ui->setupUi(this);
可以是MainWindow
。
答案 1 :(得分:0)
这是代码。
QLabel *safetyLabel = NULL;
safetyLabel = (QLabel *) this->findChild("safety_bits");
if(!safetyLabel)
{
qDebug() << "Failed to find safety_bits label!";
return 1;
}
safetyLabel->setText(QString("safety_bits is here"));