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
}combobox()
{
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);
Q_UNUSED(_t)
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) );
}
} -
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?