LINUX.ORG.RU

QPushButton,QToolButton - передать свои параметры при click()


0

0

Есть несколько кнопок (QPushButton or QToolButton) на форме.Как при событиии click() передать в обработчик свои параметры? Например id кнопки который я хотел-бы; чтобы как-то однозначно знать какая кнопка была нажата.

anonymous

> Например id кнопки который я хотел-бы; чтобы как-то однозначно знать какая кнопка была нажата.

Объединить кнопки в группу (QButtonGroup), сигнал QButtonGroup::clicked имеет параметр id

phoenix ★★★★
()
Ответ на: комментарий от anonymous

void MyWidget::init()
{
   int id = 0;

   mapper = new QSignalMapper(this);

   connect(mapper, SIGNAL(mapped(int)), this, SLOT(slotMapped(int)));

   connect(pushButton1, SIGNAL(clicked()), mapper, SLOT(map()));
   mapper->setMapping(pushButton1, id++);

   connect(pushButton2, SIGNAL(clicked()), mapper, SLOT(map()));
   mapper->setMapping(pushButton2, id++);

}

void MyWidget::slotMapped(int id)
{
    qDebug("Button #%d", id);
}


--------------------------------------------

блин, есть же assistant!!

Keiko
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.