Название: QComboTableItem в Qt5 Отправлено: barm12345 от Ноябрь 27, 2023, 15:10 Добрый день!
Не получается правильно реализовать следующую конструкцию в Qt5: Код Qt3: std::set< std::string > Enum; //Допустимые значения QTable * Table = MyTable; QTableItem *Value_Cell; QStringList *ComboBoxList = new QStringList(); std::set< std::string >::iterator iter; iter = mydata.Enum.begin(); while(iter != mydata.Enum.end() ) ComboBoxList->append(*iter++ ); QComboTableItem *CBValue_Cell; CBValue_Cell = new QComboTableItem(Table, *ComboBoxList, false); CBValue_Cell->setCurrentItem(MyValue ); Value_Cell = CBValue_Cell; - этот момент интересует как сделать... Table->insertRows(Table->numRows() ); Table->setText(Table->numRows()-1, 0, текст в 0 столбце ); Table->setItem(Table->numRows()-1, 1, Value_Cell - значение в 1 столбце); В таблице 0 столбец - параметр, 1 столбец - его значение, которое может быть или string или ComboBox, точно указать, в какой ячейке что - не могу, параметры меняются. Пробую через setCellWidget : QTableWidgetItem *Value_Cell; QComboBox* ValueBox; QStringList ComboBoxList; Value_Box = new QComboBox(Table); Value_Box->addItems(ComboBoxList); ValueBox->setCurrentText(MyValue); Table->setCellWidget(Table->rowCount()-1,1,Value_Box); Table->insertRow(Table->rowCount()); Table->setItem(Table->rowCount()-1, 1, Value_Cell); ComboBox вставляется со сдвигом вниз, не в ту ячейку Название: Re: QComboTableItem в Qt5 Отправлено: DarkHobbit от Декабрь 01, 2023, 08:44 Во-первых, для кода есть отдельный тег.
Во-вторых, ComboBox вставляется со сдвигом вниз, не в ту ячейку По приведённым фрагментам невозможно понять, где что вставляется. Судя по всему, последние 2 строки из другого места.Название: Re: QComboTableItem в Qt5 Отправлено: kambala от Декабрь 04, 2023, 09:57 кажется, проблема в том, что ты пытаешься каждый раз засунуть один и тот же объект Value_Box в каждую ячейку, а надо для каждой ячейки создавать новый объект через new QComboBox
|