使用 insertText 时 Qt 程序崩溃

Qt program crashes when using insertText

我正在尝试使用 QPlainTextEdit 在我的 Qt 程序中显示一些信息,我将其包含在 Qt Designer 中。但是当我尝试用

显示一些东西时
pTextEdit->insertPlainText("text");

我的程序在执行时崩溃了。当我尝试自己声明对象时

QTextEdit *txt = new QTextEdit();

也不行。

它唯一有效的时间是我在 main.cpp 中创建对象时。但是我需要在我的小部件中而不是在另一个 window.

中显示信息

感谢任何帮助。

编辑:

工作:

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    QTextEdit *txt = new QTextEdit();
    txt->setText("Hello, world!");
    txt->append("Appending some text…");

    txt->show();

    return a.exec();
}

不工作(由 Qt Designer 创建的对象):

MainWindow::MainWindow( QWidget *parent ) :

... initialization list ...

{
    ui->setupUi( this );

    console->setPlainText("text");

    .. other stuff ...
}

考虑到 insertPlainText 在当前光标位置插入文本,所以我认为如果未设置光标(例如,没有焦点),您可能会遇到问题。你可以试试:

txt->setPlainText("your text");

或者,如果要追加:

txt->setPlainText(txt->toPlainText() + "appended text");