【问题标题】:Qt - setText() crahses program [duplicate]Qt - setText()崩溃程序[重复]
【发布时间】:2016-08-27 05:28:03
【问题描述】:

我正在尝试为用户获取一些文本输入以供进一步使用。为此,我使用了 QInputDialog:

bool ok;
QString text = QInputDialog::getText(this, tr("QInputDialog::getText()"),
                                     tr("Your input:"), QLineEdit::Normal,
                                     QDir::home().dirName(), &ok);
if (ok && !text.isEmpty()) {
    textLabel->setText(text);
}

这会使我的程序在textLabel->setText(text); 行崩溃。如果我将其注释掉,它不会崩溃,但 text 变量保持为空。我错过了什么? 谢谢!

【问题讨论】:

  • textLabel 是空指针吗?
  • “ui->textLabel->setText(text);”怎么样
  • 我在.h文件中定义为QLabel* textLabel;,之前没用过。我想是的。应该吗?
  • 我没有定义任何ui...
  • 类似“textLabel= new QLabel('some text');”的东西或将引用传递给现有的 QLabel。

标签: c++ qt


【解决方案1】:

首先,您应该初始化 textLabel 或为其提供对现有 QLabel 的引用。

你可以这样初始化它:

textLabel= new QLabel('some text');

另外,请参阅QLabel 文档以获取有关 QLabel 构造函数的更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    相关资源
    最近更新 更多