先用QTableWidget::selectedRanges ()返回QTableWidgetSelectionRange对象的list,每个QTableWidgetSelectionRange对象的topRow和bottomRow间 的范围就是你选的行号,比如你连续选择了2,3,4,6,7行,那么一般list里会得到两个对象,一个的topRow为2,bottomRow为4,另一个的top和bottom为6和7,你可以把行号放到一个list里,然后排一下序,用qt自己的排序方法或自己写,我就是自己写冒泡的,很简单。然后你可以通过排好序的行号list手动从最后面开始一行行删除,不要从最前面开始,否则计数会乱掉。