如果您想要将 QTableWidget 上的控件脱离,可以使用 setCellWidget() 方法将 QTableWidgetItem 对象与 QWidget 对象进行分离。具体操作步骤如下:
- 使用 takeItem() 方法获取指定单元格中的 QTableWidgetItem 对象,并将其存储在临时变量中。
- 使用 removeCellWidget() 方法从指定单元格中删除任何已经存在的 QWidget 对象(如果有)。
- 使用 setItem() 方法将刚才取出的 QTableWidgetItem 对象重新设置回指定单元格。
下面是示例代码:
# 获取指定单元格
item = myTableWidget.item(row, column)
# 如果该单元格原来有一个控件,先将其从表格中移除
if myTableWidget.cellWidget(row, column):
myTableWidget.removeCellWidget(row, column)
# 将 QTableWidgetItem 重新添加到表格中
myTableWidget.setItem(row, column, item)
这样就能够实现在 QTableWidget 上将控件脱离的操作了。