我有一个具有多个QLineEdit和一个QTextEdit的UI的Qt项目。我只想将单个QLineEdit的输入合并到QTextEdit中。例如:当有人键入第一个QLineEdit时,我希望QTextEdit的第一行匹配。如果有人在第13 QLineEdit中键入了什么,QTextEdit的第13行应该更新为匹配。如果一行编辑器为空,文本编辑器的相同行也将为空。谢谢。
发布于 2016-05-14 15:32:58
您可以在窗口/对话框的类中设置一个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()));
...
}https://stackoverflow.com/questions/37227886
复制相似问题