История изменений
Исправление EXL, (текущая версия) :
Я не знаю, что ты там пытаешься сделать, но слоты работают таким образом (старый синтаксис):
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QPushButton *pushButtons[100];
for (int i = 0; i < 100; ++i) {
pushButtons[i] = new QPushButton(this);
pushButtons[i]->setText(QString("butt%1").arg(i));
pushButtons[i]->setProperty("index", i);
ui->gridLayout->addWidget(pushButtons[i], i % 10, i / 10);
connect(pushButtons[i], SIGNAL(clicked(bool)), this, SLOT(MySlot(bool)));
}
}
void MainWindow::MySlot(bool)
{
QString buttonText = qobject_cast<QPushButton*>(QObject::sender())->text();
QString index = QObject::sender()->property("index").toString();
ui->label->setText(QString("Btn name: ") + buttonText + QString(" index: ") + index);
}
Исправление EXL, :
Я не знаю, что ты там пытаешься сделать, но слоты работают таким образом (старый синтаксис):
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QPushButton *pushButtons[100];
for (int i = 0; i < 100; ++i) {
pushButtons[i] = new QPushButton(this);
pushButtons[i]->setText(QString("butt%1").arg(i));
pushButtons[i]->setProperty("index", i);
ui->gridLayout->addWidget(pushButtons[i], i % 10, i / 10);
connect(pushButtons[i], SIGNAL(clicked(bool)), this, SLOT(MySlot(bool)));
}
}
void MainWindow::MySlot(bool)
{
qDebug() << QObject::sender()->property("index");
QString buttonText = qobject_cast<QPushButton*>(QObject::sender())->text();
QString index = QObject::sender()->property("index").toString();
ui->label->setText(QString("Btn name: ") + buttonText + QString(" index: ") + index);
}
Исходная версия EXL, :
Я не знаю, что ты там пытаешься сделать, но слоты работают таким образом: