qt中如果qtablewidget设置了cell widget是一个qcombobox,怎么在获取表格数据时获取到combobox选择的值 点击复制后,将打开C知道体验页 如
时间: 2024-05-05 15:22:30 浏览: 199
您可以使用以下代码来获取QTableWidget中QComboBox的选定值:
```python
for row in range(tableWidget.rowCount()):
for col in range(tableWidget.columnCount()):
item = tableWidget.item(row, col)
if isinstance(item, QtWidgets.QComboBox):
value = item.currentText()
print(value)
else:
value = item.text()
print(value)
```
这段代码遍历QTableWidget中的每个项目,并检查每个项目是否为QComboBox。如果是QComboBox,则获取其当前文本值,否则获取其文本值。
如果您想要在获取所有数据后将其存储在一个数据结构中,您可以使用类似以下代码:
```python
data = []
for row in range(tableWidget.rowCount()):
row_data = []
for col in range(tableWidget.columnCount()):
item = tableWidget.item(row, col)
if isinstance(item, QtWidgets.QComboBox):
value = item.currentText()
else:
value = item.text()
row_data.append(value)
data.append(row_data)
print(data)
```
这段代码创建一个列表data,并遍历QTableWidget中的每个项目。对于每个项目,它获取其文本值或QComboBox的当前文本值,并将其附加到row_data列表中。一旦遍历完一行,row_data列表将附加到data列表中。最后,打印data列表,其中包含所有行和列的数据。
阅读全文