c++ - QT QTextEdit setText 崩溃

标签 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"));

这无论如何都行不通。有什么问题吗?

最佳答案

textEdit_2->setText("text");

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

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

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

另请注意,您不需要像这样显式构造 QString:

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

这对您来说都是自动的。

关于c++ - QT QTextEdit setText 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23450542/

相关文章:

c++ - 解决 CRTP 函数重载歧义

c++ - 使用 "maximize speed"但不是 "minimize size"的堆问题

c++ - 如何使 QTextEdit 看起来已禁用

c++ - 用于记录库要求的C++/autoconf等同于requirements.txt?

javascript - ActiveX html 控件不调用代码

c++ - std::round 不是 std on android 的成员

c++ - 如何用 QStringList 填充 ListView ?

python - 如何设置 QTextEdit 中每行的最大字符数

python - 检测 Ctrl+S ionic QTextedit?

c++ - 是否可以从 C++ 在 QML 上编写上下文属性?