2016-05-14 49 views
0

私は多くのQLineEditと1つのQTextEditのUIを持つQtプロジェクトを持っています。私は、QLineEditの個体の入力をQTextEditにマージしたいだけです。たとえば、誰かが最初のQLineEditに入力すると、QTextEditの最初の行が一致するようにします。誰かが13番目のQLineEditに何かを入力すると、QTextEditの13行目が一致するように更新されます。行エディターが空の場合、テキストエディターの同じ行も空になります。ありがとう。Qt:同期QLineEditとQTextEdit

+0

「QTextEdit」も編集可能ですか? – Mike

+0

実際に私はこのテキストを特別に編集する必要はありません。ラインエディットの索引で十分です。編集可能なテキストも使用できません。 QLineeditのインデックスだけが必要ですが、それらをマージする方法はわかりません。 – Qqcolorspace

答えて

0

あなたはこのように、あなたのウィンドウ/ダイアログのクラスでUpdateTextEditスロットを持つことができます。このように、UpdateTextEdit()スロットにすべてのあなたのQLineEdit sからtextChanged信号を接続し、

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

、ダイアログ/ウィンドウのコンストラクタで:

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())); 
    ... 
} 
関連する問題