PyQt5 QTableWidget 删除所有行:
self.tableWidget.setRowCount(0)
self.tableWidget.clearContents()
删除layout中的所有widget:
for i in range(self.gridLayout.count()):
self.gridLayout.itemAt(i).widget().deleteLater()
加判断:
import sip
...
class Window(QtGui.QMainWindow):
...
def populateFrame(self):
self.deleteLayout(self.frame.layout())
layout = QtGui.QVBoxLayout(self.frame)
...
def deleteLayout(self, layout):
if layout is not None:
while layout.count():
item = layout.takeAt(0)
widget = item.widget()
if widget is not None:
widget.deleteLater()
else:
self.deleteLayout(item.layout())
sip.delete(layout)