使用 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");
我正在尝试使用 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");