我有一个Qt项目,其UI包含许多QLineEdit
和一个QTextEdit
。我只想将单个QLineEdit
的输入合并到QTextEdit
中。例如:当有人输入第一个QLineEdit
时,我希望QTextEdit
的第一行匹配。如果有人在第13个QLineEdit
中输入内容,QTextEdit
的第13行应该更新以匹配。如果行编辑器为空,则文本编辑器的相同行也将为空。感谢。
答案 0 :(得分:0)
您可以在窗口/对话框的类中添加UpdateTextEdit
个插槽,如下所示:
void ExampleDialog::UpdateTextEdit(){
QString str= ui->lineEdit1->text();
str+= "\n";
str+= ui->lineEdit2->text();
str+= "\n";
str+= ui->lineEdit3->text();
str+= "\n";
...
//add text from all your line edits
...
ui->textEdit->setPlainText(str);
}
并在对话框/窗口的构造函数中,将textChanged
所有QLineEdit
信号连接到UpdateTextEdit()
广告位,如下所示:
ExampleDialog::ExampleDialog(QWidget* parent):QDialog(parent),...{
...
...
connect(ui->lineEdit1, SIGNAL(textChanged(const QString &)), this, SLOT(UpdateTextEdit()));
connect(ui->lineEdit2, SIGNAL(textChanged(const QString &)), this, SLOT(UpdateTextEdit()));
connect(ui->lineEdit3, SIGNAL(textChanged(const QString &)), this, SLOT(UpdateTextEdit()));
...
}