Page 1 of 1

Динамически добавляемые и удаляемые строки ввода

PostPosted: 15 Dec 2016, 06:49
by ophiuchus
Есть идея, для реализации которой необходимо динамически добавлять или убирать строки ввода (работа с древовидными данными).
Возможно ли это в PHPQt5, и как ?

Re: Динамически добавляемые и удаляемые строки ввода

PostPosted: 12 Apr 2017, 07:25
by ArtMares
Реализовать такое вполне реально.
Динамически добавлять поля ввода очень просто
Code:
<?php
class myWidget extends QWidget {
   private $fields = [];

   private $row = 0;

   private $col = 0;

   public function __construct() {

       parent::__construct(null);

       $this->setLayout(new QGridLayout());

   }

   public function addField() {

       $field = new QLineEdit($this);

       if($this->col > 6) {
           $this->row = 0;
           $this->col = 0;
       }

       $this->layout()->addWidget($field, $this->row, $this->col++);

       $this->fields[] = $field;

    }
}


Удалять тоже в принципе не сложно. Если тебе не нужны данные из поля то вызываешь у поля $field->close(); и он автоматом удалится из виджета, но тебе еще понадобится удалить ссылку на поле из массива.