-1

我遇到了 QLabel 的问题。我有一个 QtWidget,里面有一个 QLabel。现在我想用以下代码更改标签的文本:

QLabel* safetyLabel = this->findChild<QLabel *>("safety_bits");

safetyLabel->setText(QString("test"));
printf("%i", (safetyLabel->text()).length());

但我总是遇到“分段错误”。我认为这很简单,但我只是看不到它...

有任何想法吗?

4

2 回答 2

0

如果您safetyLabelNULL调用构造函数之前使用 QtCreators 的设计器来构建您的 UI 并执行您的代码,那么您ui->setupUi(this);可以MainWindow

于 2013-02-16T12:58:37.340 回答
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"));
于 2015-01-28T12:17:46.500 回答