2017-05-10 6 views
1

QLabelに2種類の異なるQTextEdit値を表示するだけです。私は単一のQTextEditを試しましたが、両方ともQTextEditの値を表示できませんでした。2種類の異なるQTextEdit値をQLabelに表示するには

void MainWindow::on_pushButton_clicked() 
{  
    ui->label_az->setText(ui->textEdit_ra1->toPlainText()); 
    ui->label_az->setText(ui->textEdit_ra2->toPlainText()); 
} 

私はpushbuttonをクリックしたときにQTextEdit値は表示されません。事前にありがとう

+3

あなたは 'UI-> label_az->のsetText(UI-> textEdit_ra1-> toPlainText()+ UI-> textEdit_ra2-> toPlainText())を捜していますか;'? – Mike

+0

@Mike両方をlabel_azに表示します。どうすればいいのか教えてください。ありがとうございます – REZTO

+1

@Mikeソリューションの問題点は何ですか?ほとんどの場合、セパレータを追加したいと思っています。 – cbuchart

答えて

2

ちょうど単一のポストに、私たちのコメントを要約する:

label->setText(text_1->toPlainText() + "\n" + text_2->toPlainText()); 

ここでは、コンテキストを与えるために、完全なプログラム例です:あなたはこのように、単一ラベルテキストに両方のテキストを組み合わせにしたいです:QLabel::setTextはラベルの内容を置き換えるので、前に文字列全体を作成して一度設定する必要があります。以下のコードは、それを行います。

void MainWindow::on_pushButton_clicked() 
{ 
    ui->label_az->setText(
    ui->textEdit_ra1->toPlainText() + 
    " " + // use here the separator you find more convenient 
    ui->textEdit_ra2->toPlainText()); 
} 
1

setText()は、のラベルテキストを置き換えます。

#include <QWidget> 
#include <QBoxLayout> 
#include <QTextEdit> 
#include <QPushButton> 
#include <QLabel> 
#include <QApplication> 

#include <memory> 

int main(int argc, char **argv) 
{ 
    QApplication app{argc, argv}; 

    const auto w = std::make_unique<QWidget>(); 
    const auto window = w.get(); 
    const auto layout = new QVBoxLayout(window); 
    const auto text_1 = new QTextEdit(window); 
    layout->addWidget(text_1); 
    const auto text_2 = new QTextEdit(window); 
    layout->addWidget(text_2); 
    const auto button = new QPushButton("Push Me!", window); 
    layout->addWidget(button); 
    const auto label = new QLabel(window); 
    layout->addWidget(label); 

    QObject::connect(button, &QPushButton::pressed, 
        label, [=]() { label->setText(text_1->toPlainText() + "\n" + text_2->toPlainText()); }); 

    window->show(); 
    return app.exec(); 
} 
+0

このコードスニペットは歓迎されていますが、何らかの助けとなるかもしれませんが、質問にどのように対処するか説明が含まれていれば大幅に改善されます。それがなければ、あなたの答えははるかに教育的価値が低くなります。あなたが今質問している人だけでなく、将来の読者の質問に答えていることを忘れないでください!説明を追加するためにあなたの答えを編集し、どのような制限と前提が適用されるかを示してください。 –

+0

@EdM、注意深く見てみると、最初の行では、最初の呼び出しで追加されるのではなく、2番目の呼び出しが1番目の呼び出しで置き換えられていることがわかります。これは間違いなく、低品質のコードのみの回答ではありません。 –

関連する問題