获取qtablewidge中 自定义控件的列数
时间: 2024-03-11 13:02:27 浏览: 53
要获取 QTableWidget 中自定义控件所在的列数,可以使用 QTableWidget 的 columnCount() 函数获得表格的总列数,然后遍历每一列,使用 QTableWidget 的 cellWidget() 函数获取每个单元格中的控件,再使用 QHeaderView 的 visualIndex() 函数将控件所在的列号转换为可见列号。最后统计可见列中自定义控件所在的列数即可。以下是一个示例代码:
```python
def get_custom_widget_columns(table_widget):
custom_widget_columns = []
visible_columns = range(table_widget.horizontalHeader().count())
for column in visible_columns:
widget = table_widget.cellWidget(0, column) # 假设自定义控件在第一行
if isinstance(widget, CustomWidget): # 假设自定义控件类型为 CustomWidget
visible_column = table_widget.horizontalHeader().visualIndex(column)
custom_widget_columns.append(visible_column)
return custom_widget_columns
```
上述代码将返回一个包含所有自定义控件所在可见列号的列表。