python 基于QtableWidget封装一个新的类,可以显示姓名、年龄、身高参数,并随机生成几组数据
时间: 2024-05-12 20:17:16 浏览: 73
GUI开发-如何对QTableWidget表格进行数据绑定-Python实例源码.zip
好的,我明白了。回答你的问题,你可以基于QTableWidget封装一个新的类,通过设置表头和随机生成几组数据来显示姓名、年龄、身高参数。具体代码可以参考下面:
```python
import random
from PyQt5.QtWidgets import QApplication, QWidget, QTableWidget, QTableWidgetItem, QVBoxLayout
class MyTableWidget(QTableWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.setColumnCount(3)
self.setHorizontalHeaderLabels(['姓名', '年龄', '身高'])
self.random_data()
def random_data(self):
for i in range(5):
name = '张三{}'.format(i)
age = random.randint(20, 50)
height = random.randint(160, 190)
self.insertRow(i)
self.setItem(i, 0, QTableWidgetItem(name))
self.setItem(i, 1, QTableWidgetItem(str(age)))
self.setItem(i, 2, QTableWidgetItem(str(height)))
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
w = QWidget()
layout = QVBoxLayout()
table = MyTableWidget()
layout.addWidget(table)
w.setLayout(layout)
w.show()
sys.exit(app.exec_())
```
这个新的类继承自QTableWidget,设定为3列,表头为姓名、年龄、身高。随机生成5行数据,插入到表格中。最后在一个QWidget中显示这个MyTableWidget类。
阅读全文