Как удалить несколько строк из виджета QTable? - PullRequest
3 голосов
/ 18 января 2012

Я хочу удалить несколько строк, которые выбраны в QTableWidget. может у кого-нибудь есть идеи?

Ответы [ 4 ]

2 голосов
/ 07 февраля 2015

Вы можете удалить несколько элементов одновременно, Советы, начинайте удалять строки снизу. Мне жаль, что я не разработчик VS2008, но это решение легко конвертировать в код VS2008. Здесь код Python. Извините за поздний ответ:)

# Delete the selected mytable lines
deleteRows(self.mytable.selectionModel().selectedRows())

# DeleteRows function
def deleteRows(self, rows):
        # Get all row index
        indexes = []
        for row in rows:
            indexes.append(row.row())

        # Reverse sort rows indexes
        indexes = sorted(indexes, reverse=True)

        # Delete rows
        for rowidx in indexes:
            self.mytable.removeRow(rowidx)
0 голосов
/ 18 января 2012
QList<QTableWidgetItem*> itemList = widget->selectedItems();
for(int i = 0; i < itemList.size(); i++) {
    widget->removeCellWidget(itemList.at(i)->row(), itemList.at(i)->column());
} 
0 голосов
/ 19 февраля 2013

Может быть, это может помочь:

QList<QTableWidgetItem*> selected_itms = ur_table->selectedItems();
while( !selected_itms.isEmpty() )
{
    QTableWidgetItem *itm = selected_itms.at(0);
    ur_table->removeRow(itm->row());
    selected_itms = ui.tblw_entries->selectedItems();
}
0 голосов
/ 18 января 2012

Если вы хотите удалить несколько строк в конце таблицы, вы можете попробовать использовать setRowCount (int row).

Некоторое время назад я искал способ удалить несколько выбранных строк из разных мест в таблице.

В итоге я перебрал свой выбранный список снизу, чтобы удалить мою таблицу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...