QTableView, adding headers and content
-
@mrjj , next related question, when I add the rows I use:
lstRow.append(new QStandardItem(strValue));Later once the list is ready to add:
mpsiModel->appendRow(lstRow);The question is how do I get access to the row list when I want to delete each instance of QStandardItem?
-
@mrjj , next related question, when I add the rows I use:
lstRow.append(new QStandardItem(strValue));Later once the list is ready to add:
mpsiModel->appendRow(lstRow);The question is how do I get access to the row list when I want to delete each instance of QStandardItem?
-
@SPlatten
Hi
Well the models own the items so you dont need to clean up. It will do.
If you want to empty it, you can call clear() on it. -
@SPlatten
Hi
Well the models own the items so you dont need to clean up. It will do.
If you want to empty it, you can call clear() on it.@mrjj , A few more tweets, each row has a lot of space and padding top and bottom of each row, including headers, I would like to remove this and also I would like to disable editing of the cells.
I want to make it so when I double click a row it selects that row and then signals my application of this.
-
@mrjj , A few more tweets, each row has a lot of space and padding top and bottom of each row, including headers, I would like to remove this and also I would like to disable editing of the cells.
I want to make it so when I double click a row it selects that row and then signals my application of this.
hi
selecting row:
table->setSelectionBehavior(QAbstractItemView::SelectRows);for nonediting, you can set that on the item
item->setFlags(item->flags() & ~Qt::ItemIsEditable) // we remove the edit flag. there are others flags so we only clear that one out as not to fux up stuff
for the spaces:
QHeaderView* header=tableView->verticalHeader();
header->setDefaultSectionSize(20); // 20 px height for all -
hi
selecting row:
table->setSelectionBehavior(QAbstractItemView::SelectRows);for nonediting, you can set that on the item
item->setFlags(item->flags() & ~Qt::ItemIsEditable) // we remove the edit flag. there are others flags so we only clear that one out as not to fux up stuff
for the spaces:
QHeaderView* header=tableView->verticalHeader();
header->setDefaultSectionSize(20); // 20 px height for all -
@mrjj ,the headers I want to resize are the horizontal headers, I tried:
QHeaderView* phvHorizontal(mptvRecs->horizontalHeader()); phvHoriztonal->setDefaultSectionSize(14);However that effects the header width and not the height.
-
@mrjj, checking this out now...also I'm using a lambda connection to connect to:
QObject::connect(mptvRecs, &QTableView::doubleClicked, [this, objJSONdataTypes]() { ... });This works, but is there anyway to get access to the parameter associated with the doubleClicked signal from lambda ?
[Edit]...trying
QObject::connect(mptvRecs, &QTableView::doubleClicked, [this, objJSONdataTypes](const QModelIndex& crIndex) { ... });[Edit2], yes that works!
-
@mrjj , Is there a way to remove the padding which seems to be present above and below the text regardless of the height setting ?
If I use setFixedHeight there are still several pixels above the text.
[Edit] Yes, by using setStyleSheet on header.