Qtablewidget表格中添加单选框
时间: 2023-08-27 14:03:48 浏览: 257
要在QTableWidget中添加单选框,可以使用QComboBox或QRadioButton作为QTableWidget单元格的编辑器。
以下是一个示例代码,展示如何在QTableWidget中添加单选框:
```python
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QRadioButton, QHBoxLayout, QWidget
class MyTable(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('Table with Radio Buttons')
self.setGeometry(300, 300, 400, 200)
self.tableWidget = QTableWidget(self)
self.tableWidget.setGeometry(50, 50, 300, 120)
self.tableWidget.setRowCount(2)
self.tableWidget.setColumnCount(2)
for i in range(self.tableWidget.rowCount()):
for j in range(self.tableWidget.columnCount()):
if j == 0:
rb = QRadioButton()
hbox = QHBoxLayout()
hbox.setAlignment(0x0001) # Qt::AlignCenter
hbox.addWidget(rb)
w = QWidget()
w.setLayout(hbox)
self.tableWidget.setCellWidget(i, j, w)
else:
item = QTableWidgetItem('Item(%d,%d)' % (i,j))
self.tableWidget.setItem(i, j, item)
self.show()
if __name__ == '__main__':
app = QApplication([])
table = MyTable()
app.exec_()
```
在这个示例中,我们创建了一个带有两行两列的QTableWidget,并将RadioButton添加到第一列的单元格中。我们使用QHBoxLayout来对RadioButton进行居中布局,并使用QWidget将RadioButton放到单元格中。在第二列中,我们添加了普通的QTableWidgetItem。
这个方法可以用于添加其他类型的单选框,例如QComboBox。只需将QRadioButton替换为QComboBox即可。
阅读全文