Important: Please read the Qt Code of Conduct -

Appending text to PlainTextedit using combo boxes and buttons

  • New to QT. I'm writing a program that writes macros for a website I play online. Essentially what I want is a combobox that when I press the pushbutton, reads the current combobox selection and appends a snippet of text into the TextEdit.

    using pseudo code:

    if pushbutton is clicked():
    read combo box selection
    append comboboxselection(string) to Text edit

    string sometext
    if(combobox selection is "1st cantrip")
    text = "%{selected|repeating_spell-cantrip_$0_spell}"

  • Hi, and welcome to the Qt forum!

    void MainWindow::on_pushButton_clicked()
        const auto text = ui->comboBox->currentText();
        if (text=="First Item") {
            ui->textEdit->append( QString("%1 something").arg(text) );
        } else if (text=="Second Item") {
            ui->textEdit->append( QString("%1 something else").arg(text) );
        } else {
            ui->textEdit->append( QString("%1 default").arg(text) );

  • @Wieland thank you so much!

  • @Wieland

    Follow on Question: After implementing the code: nothing happened, I went the moc file where

    void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
    if (_c == QMetaObject::InvokeMetaMethod) {
    MainWindow *_t = static_cast<MainWindow *>(_o);
    switch (_id) {
    case 0: _t->on_deleteThisComboBox_currentTextChanged((reinterpret_cast< const QString()>(_a[1]))); break;
    case 1: _t->on_deletThisPlainTextEdit_destroyed(); break;
    case 2:_t->on_deletThisPushButton_clicked(); break;
    default: ;

    in case 2: The text is added to the plaintextbox automatically whenever I change the combobox selection, also clicking the pushbutton has no effect on appending text whatsoever, despite the code being inside the code:

    void MainWindow::on_deletThisPushButton_clicked()
    const auto text = ui->deleteThisComboBox->currentText();
    if (text=="1st Cantrip") {
    ui->deletThisPlainTextEdit->appendPlainText( QString("something").arg(text) );
    } else if (text=="2nd Cantrip") {
    ui->deletThisPlainTextEdit->appendPlainText( QString("something else").arg(text) );
    } else {
    ui->deletThisPlainTextEdit->appendPlainText( QString("default").arg(text) );

  • Lifetime Qt Champion

    Sorry, it is not really clear what the problem now is. @Wieland provided you the code you have to put into your slot which is connected to the clicked signal of the button. Did you connect the signal and slot?

  • @jsulm Its been working fine this is solved. I have a project where I experiment in and got a lot of my code messed up. When I tried this code in a fresh project, it worked perfectly. Thanks.

Log in to reply