QT QTextEdit setText崩溃

时间:2014-05-03 22:36:44

标签: c++ qt qtextedit

我已经创建了一个qt小部件应用程序。使用设计模式,我创建了一个QTextEdit,并在头文件中指出:

...

QT_BEGIN_NAMESPACE
class QAction;
class QMenu;
class QTextEdit;
QT_END_NAMESPACE

...

private:
    Ui::MainWindow *ui;
    QTextEdit *textEdit_2;
};

还有一个通过按下按钮触发的插槽。它必须做的是在按下按钮后将一些文本插入textEdit_2,程序仍会崩溃。 在mainwindow.cpp中:

void MainWindow::on_action_4_triggered()
{
    textEdit_2->setText("text");
}

我也试过

textEdit_2->setText(QString("text"));

无论如何都不起作用。问题是什么?

1 个答案:

答案 0 :(得分:2)

  

textEdit_2->的setText( “文本”);

问题在于您试图忽略在QtDesigner中创建的实际文本小部件,并将另一个小部件发明为类成员。这似乎不会像你想要的那样飞。

为了重用您使用图形工具创建的UI中的文本窗口小部件,您需要重用ui对象,如下所示:

ui->textEdit_2->setText("text");

另请注意,您无需像这样明确构建QString

textEdit_2->setText(QString("text"));

这对你来说都是自动的。