如何通过单击按钮在QTextEdit中显示文本?

How to display a text in a QTextEdit by clicking on a button?

本文关键字:显示 文本 QTextEdit 何通过 单击 按钮      更新时间:2023-10-16

我需要在点击按钮后在QTextEdit中显示文本。

我有:

QGroupBox *groupDefClass = new QGroupBox("Definition of the class");
QFormLayout *formDefClass = new QFormLayout;
QLineEdit *name = new QLineEdit;
QLineEdit *motherClass = new QLineEdit;
formDefClass->addRow("&Name:", name);
formDefClass->addRow("Mother Class :", motherClass);
groupDefClass->setLayout(formDefClass);
QVBoxLayout *vertBoxAll = new QVBoxLayout;
vertBoxAll->addWidget(groupDefClass);

然后我在其他地方有另一个文本框:

textResult = new QTextEdit();
vertBoxAll->addWidget(textResult);

我想使用这个按钮添加"代码":

generButton = new QPushButton("Generate...");
connect(generButton, SIGNAL(clicked()), this, SLOT(getData(code)));

和获取数据:

void SetUpPage::getData(QString code) {
textResult->setPlainText(code);
textResult->setReadOnly(true);
textResult->setFont(QFont("Courier"));
textResult->setLineWrapMode(QTextEdit::NoWrap);
}

但什么也没发生。

我还尝试直接在插槽中添加textResult->setPlainText(code((不确定我是否可以这样做(,但仍然没有。

我真的看不出我做错了什么。 提前感谢您的帮助。

劳伦

1( 此SLOT(getData(code))包含错误 - 将code替换为 QString。

2( 在调试器下启动并在运行时捕获此错误。调用qInstallMessageHandler并显示消息框以强制在没有调试器的情况下显示类似的错误。

3(使用功能指针信号/插槽connect来防止将来出现此类错误。