Я использую QTableWidget в приложении для отображения списка платежей... данные в нем не должны редактироваться но при этом строка из 4 полей должна выделятся...
начальные установки для QTableWidget.
void MainWindow::setSettingForOperationList()
{
QStringList stritemTable;
stritemTable << linguisMap[QString("Operator_%1").arg(lang)]
<< linguisMap[QString("Account_%1").arg(lang)]
<< linguisMap[QString("Amount_%1").arg(lang)]
<< linguisMap[QString("Status_%1").arg(lang)];
int cols = 4;
lstOperationView->setColumnCount(cols);
lstOperationView->setHorizontalHeaderLabels(stritemTable);
lstOperationView->horizontalHeader()->setStretchLastSection(true);
lstOperationView->setSelectionBehavior(QAbstractItemView::SelectRows);
this->setWidthForOperationList();
}
вот вставляю новую строку и допустим добавляю в него один tableWidgetItem...
lstOperationView->insertRow(0);
int i = lstOperationView->rowCount();
QTableWidgetItem *tableWidgetItem = new QTableWidgetItem(QString("%1").arg(i));
lstOperationView->setRowHeight(0,20);
tableWidgetItem->setFlags(Qt::ItemIsEditable);
lstOperationView->setItem(0,0,tableWidgetItem);
при этом при щелчке на 0-й элемент QTableWidget то есть те которые находятся в первом столбце он не выделяется и не редактируется, какой то серинкий.... при щелчке на элементы в следующих столбцах строка выделяется крое 0-го элемента...
потом попробовал..
tableWidgetItem->setFlags(tableWidgetItem->flags() | Qt::ItemIsEditable);
он стал редактируемым.... и строка полностью подсвечивается(что и следовало)
Так вот мне необходимо сделать следующее...
- - выделять строку при выборе хотя бы одного элемента при этом чтобы они не редактировались
- - при щелчке правой кнопкой мыши должно вызываться менюшка с действиями(типа переправить, копировать, распечатать чек)
- - сделать скрытый tableWidgetItem которая будет содержать транзакцию платежа, чтобы по нему можно было личится в базу...
по форуму я много чего нашел интересного но вот касающиеся этого конкретно не нашел..... если кто знает помогите..