Hello, All:
I want to select half row when I clicked some item. I rewrite the selectionChanged() function. It can work at the first click. However, when clicked second time, the original selected items cannot be removed. Why? Thanks

Qt Code:
  1. void CMyWidgetTable::selectionChanged(const QItemSelection & selected, const QItemSelection & deselected){
  2. QModelIndexList vd = selected.indexes();
  3. if(vd.size() == 1){
  4. QModelIndex current = vd.back();
  5. if(current.column() < 7){
  6. dSel.select(m_pdModel->index(current.row(), 0), m_pdModel->index(current.row(), 6));
  7. }
  8. else if(current.column() >= 7){
  9. dSel.select(m_pdModel->index(current.row(), 7), m_pdModel->index(current.row(), 13));
  10. }
  11.  
  12. QItemSelectionModel *pdSelectionModel = selectionModel();
  13. pdSelectionModel->select(dSel, QItemSelectionModel::SelectCurrent);
  14. }
  15. }
To copy to clipboard, switch view to plain text mode