Как динамически размещать ячейки в QTableWidget - PullRequest
0 голосов
/ 12 марта 2012

Я студент-программист, и я использую Qt для создания графического интерфейса для одного из продуктов моей компании. По сути, этот графический интерфейс будет читать определенные файлы и подавать данные в таблицу для редактирования пользователями. Я знаю, как построить QTableWidget статически. В этом случае я использовал следующее:

 for(int x=0; x < ui->tableWidgetInjectionLocations->rowCount(); x++)
    {
        for(int y=0; y < ui->tableWidgetInjectionLocations->columnCount(); y++)
        {
            ui->tableWidgetInjectionLocations->setItem(x,y, qTableWidgetItemInjection);
        }
    }

Проблема в том, что таким образом создается статическое или фиксированное количество ячеек. Вместо этого я хотел бы, чтобы ячейки строились на основе взаимодействия с пользователем. Возможно, когда пользователь заполняет какие-либо ячейки в последней строке, чтобы заполнить новую, или когда пользователь прокручивает вниз ... Я отвлекся, дело в том, что я не смог найти никакой документации о том, как подойти к этому в Qt Документация . Возможно его авторы блокируют, или я пропускаю что-то очевидное, но любая помощь была бы удивительна. Спасибо за чтение и спасибо за любую помощь заранее.

1 Ответ

1 голос
/ 12 марта 2012

Чтобы добавить строку, просто наберите QAbstractItemModel::insertRow на вашем QTableWidget::model().QTableWidget настроится автоматически.

т.е.

ui->tableWidgetInjectionLocations->model()->insertRow(ui->tableWidgetInjectionLocations->model()->rowCount());

, чтобы добавить строку после последней.

Существует множество способов вызвать добавлениевам нужно быть более точным в том, что вы хотите ...

...