Страница 1 из 1

авто генерация кнопок

СообщениеДобавлено: 31 мар 2016, 10:10
zazaka
Не передается по клику значение переменной

phpqt Код:
           foreach ($this->info_array as $k=>$v)
            {
                $button = new QPushButton;
                $button->text = $v['name'];
                $button->onClicked = function() {
                    $this->open_file($k);
                };
              
                $this->menny_samples->layout->addWidget($button);

                //pre($k);
            }




сами кнопки создаются и отображаются и имена файлов пишутся и по клику функция вызывается..  а вот значение $k не передаётся
как быть((( как переделать чтобы значения передавались динамически созданные. есил статически написать что-то то оно передаётся но у всех кнопок одно и тоже (

Re: авто генерация кнопок

СообщениеДобавлено: 31 мар 2016, 10:34
ArtMares
Что бы передать в функцию переменную используй use() вот как должен выглядеть твой код
phpqt Код:
foreach ($this->info_array as $k=>$v) {
    $button = new QPushButton;
    $button->text = $v['name'];
    $button->onClicked = function() use($k) {
        $this->open_file($k);
    };
              
    $this->menny_samples->layout->addWidget($button);
}

Re: авто генерация кнопок

СообщениеДобавлено: 31 мар 2016, 10:51
zazaka
Точняк туплю )) спс