2016-05-14 133 views
0

我有一個Qt項目,有許多QLineEdit和一個QTextEdit的用戶界面。我只是想將個人QLineEdit的輸入合併到QTextEdit中。例如:當有人輸入第一個QLineEdit時,我想要QTextEdit的第一行匹配。如果有人在第13條QLineEdit中鍵入內容,那麼QTextEdit的第13行應更新爲匹配。如果行編輯器爲空,則文本編輯器的相同行也將爲空。謝謝。Qt:同步QLineEdit和QTextEdit

+0

而且,QTextEdit也是可編輯的嗎? – Mike

+0

其實我不需要對這個文本進行任何特殊的編輯,lineedit的索引對我來說就足夠了。所以我可以使用不可編輯的文本。我只需要那些QLineedit的索引,但我不知道如何合併它們。 – Qqcolorspace

回答

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); 
} 

,並在對話框/窗口的構造,從您的所有QLineEdit■連接textChanged信號到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())); 
    ... 
}