QtableWidget随机添加1到100,并排序
时间: 2024-05-09 12:20:45 浏览: 68
以下是一个示例代码,实现了随机添加1到100的数字,并在QTableWidget中进行排序:
```python
import random
from PyQt5.QtWidgets import QApplication, QWidget, QTableWidget, QTableWidgetItem, QVBoxLayout, QPushButton
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.table = QTableWidget()
self.button = QPushButton("Sort")
layout = QVBoxLayout()
layout.addWidget(self.table)
layout.addWidget(self.button)
self.setLayout(layout)
self.button.clicked.connect(self.sort_table)
self.table.setColumnCount(1)
self.table.setRowCount(10)
for i in range(10):
item = QTableWidgetItem(str(random.randint(1, 100)))
self.table.setItem(i, 0, item)
def sort_table(self):
self.table.sortItems(0)
if __name__ == "__main__":
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
在这个例子中,我们首先创建一个QTableWidget,并且添加了一个QPushButton用于排序。我们设置了QTableWidget的列数为1,行数为10,并且在每个单元格中随机添加了1到100的数字。
在sort_table方法中,我们使用了QTableWidget的sortItems方法来对表格中的数据进行排序。这里我们只有一列数据,所以使用0作为参数,表示对第一列进行排序。
最后,我们使用了PyQt5的QApplication类来创建一个应用程序,并将MainWindow实例作为主窗口进行显示。当用户点击排序按钮时,我们调用sort_table方法对表格进行排序。
阅读全文