做一个下拉框和4*3的 qtablewidget,每点选下拉框的一个选项就往光标所在的qtablewidget单元格添加下拉框的文本
时间: 2023-05-24 20:00:42 浏览: 154
您可以在QTableWidget中使用setItem()方法添加下拉框及其文本。以下是大致的代码示例:
```
from PyQt5.QtWidgets import QComboBox, QApplication, QTableWidget, QTableWidgetItem
from PyQt5.QtCore import Qt
app = QApplication([])
table = QTableWidget(4, 3)
combo = QComboBox()
combo.addItem("Option 1")
combo.addItem("Option 2")
combo.addItem("Option 3")
combo.addItem("Option 4")
def add_combo_box():
#获取当前选中的单元格
current_cell = table.currentItem()
#创建新的单元格
new_item = QTableWidgetItem()
#设置单元格为可编辑状态
new_item.setFlags(new_item.flags() ^ Qt.ItemIsEditable)
#将下拉框添加到单元格中
new_item.setData(Qt.EditRole, combo.currentText())
#将新的单元格添加到当前选中的单元格位置
table.setItem(current_cell.row(), current_cell.column(), new_item)
combo.currentIndexChanged.connect(add_combo_box)
app.exec_()
```
此代码将创建一个4x3的QTableWidget,以及一个下拉框。当用户选择下拉框中的选项时,此代码将在当前选中的单元格中添加下拉框的文本。
阅读全文