Я занимаюсь разработкой программы для контроля продаж и управления запасами в конкретном магазине, я создал элемент делегата, который добавляет QDoubleSpinBox к таблице, служащей для изменения количества товаров в корзине, мне нужно как-то установить максимальное количество каждый SpinBox в зависимости от количества товара на складе, и необходимо подключить valueChange (), чтобы обновить итоговую цену.
Делегат таблицы
QWidget *TableDelegate::createEditor(QWidget *parent,const QStyleOptionViewItem & option ,const QModelIndex & index ) const
{
return new QDoubleSpinBox(parent);
}
NovaVenda
NovaVenda::NovaVenda(QWidget *parent) :
QDialog(parent),
ui(new Ui::NovaVenda)
{
ui->setupUi(this);
static QStringList headers = {"Código", "Nome", "Quantidade"};
modeloTabela = new QStandardItemModel(0, 3);
modeloTabela->setHorizontalHeaderLabels(headers);
ui->tvCarrinho->setModel(modeloTabela);
ui->tvCarrinho->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
ui->tvCarrinho->horizontalHeader()->setSectionResizeMode(1, QHeaderView::ResizeToContents);
ui->tvCarrinho->setItemDelegateForColumn(2, new TableDelegate());
// Lista os códigos e nomes para que os campos o auto complete
QVector<Produtos> produtos = Produtos::listarProdutos();
if(!produtos.isEmpty()){
QStringList nomes, codigos;
for(int i = 0; i < produtos.size(); i++){
nomes.insert(i, produtos[i].nome());
codigos.insert(i, produtos[i].codigoVenda());
}
nomesCompleter = new QCompleter(nomes);
codigoCompleter = new QCompleter(codigos);
}
ui->leInput->setCompleter(codigoCompleter);
codBarraValidator = new QRegExpValidator(QRegExp("^[0-9]*$"));
}