ich hoffe es kennt sich jemand mit dem QSignalMapper aus.
Ich will zur Laufzeit des Programmes entscheiden, wieviele QLineEdits ich benötige. Deshalb suche ich jetzt eine Möglichkeit wie ich dann den Inhalt(text) des LineEdits speichern kann.
Mit meinem jetztigen Code merke ich zwar, wenn sich etwas geändert hat, komme aber nicht an den Inhalt des LineEdits.
Hier mein Code:
Code: Alles auswählen
#include "ButtonWidget.h"
#include <QLineEdit>
ButtonWidget::ButtonWidget(QStringList texts, QWidget *parent)
: QWidget(parent)
{
signalMapper = new QSignalMapper(this);
QGridLayout *gridLayout = new QGridLayout;
for (int i = 0; i < texts.size(); ++i)
{
QLineEdit *lineEdit = new QLineEdit(texts[i]);
connect(lineEdit, SIGNAL(textChanged(const QString & )), signalMapper, SLOT(map()));
signalMapper->setMapping(lineEdit, texts[i]);
gridLayout->addWidget(lineEdit, i / 3, i % 3);
}
connect(signalMapper, SIGNAL(mapped(const QString &)),
this, SLOT(specialSlot(const QString &)));
setLayout(gridLayout);
}
ButtonWidget::~ButtonWidget()
{
}
void ButtonWidget::specialSlot(const QString& name)
{
QString value;
value = name;
}