繁体   English   中英

如何在QLabel中显示2个不同的QTextEdit值

[英]How can I display of 2 different QTextEdit values into a QLabel

我试图简单地将2个不同的QTextEdit值显示到QLabel 我尝试过单个QTextEdit但无法显示两个QTextEdit的值。

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

单击pushbutton时,它不显示QTextEdit值。 先感谢您

只是将我们的注释总结为一个帖子: 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());
}

第二个setText()调用替换标签的文本。 您希望两个文本合并为单个标签文本,如下所示:

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

这是一个完整的示例程序,用于给出上下文:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM