9 ButtonWidget::ButtonWidget(
const QStringList &texts, QWidget *parent)
15 signalMapper =
new QSignalMapper(
this);
17 QGridLayout *gridLayout =
new QGridLayout(
this);
18 for (
int i = 0; i < texts.size(); ++i) {
19 QPushButton *button =
new QPushButton(texts[i]);
20 connect(button, &QPushButton::clicked, signalMapper, qOverload<>(&QSignalMapper::map));
21 signalMapper->setMapping(button, texts[i]);
22 gridLayout->addWidget(button, i / 3, i % 3);
25 connect(signalMapper, &QSignalMapper::mappedString,
26 this, &ButtonWidget::clicked);
32 QGridLayout *gridLayout =
new QGridLayout(
this);
33 for (
int i = 0; i < texts.size(); ++i) {
34 QString text = texts[i];
35 QPushButton *button =
new QPushButton(text);
36 connect(button, &QPushButton::clicked, [
this, text] { clicked(text); });
37 gridLayout->addWidget(button, i / 3, i % 3);