pyqt5实时显示json字段数据
时间: 2023-12-24 07:05:39 浏览: 27
可以使用QTreeView和QJsonModel实现实时显示JSON字段数据。以下是一个简单的示例代码:
```python
from PyQt5.QtCore import QJsonDocument
from PyQt5.QtWidgets import QApplication, QTreeView, QWidget, QVBoxLayout
from PyQt5.QtGui import QStandardItemModel
from qjsonmodel import QJsonModel # 自己定义的 QJsonModel 类
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Real-time JSON Data Display")
self.setGeometry(100, 100, 800, 600)
# 创建QTreeView和QJsonModel
self.tree_view = QTreeView(self)
self.model = QJsonModel()
self.tree_view.setModel(self.model)
# 创建布局并添加QTreeView
layout = QVBoxLayout()
layout.addWidget(self.tree_view)
self.setLayout(layout)
# 更新JSON数据
self.update_json_data({"name": "John", "age": 30})
def update_json_data(self, data):
# 将JSON数据转换为QJsonDocument并设置到QJsonModel中
json_doc = QJsonDocument(data)
self.model.setJson(json_doc)
if __name__ == "__main__":
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
在这个示例中,我们创建了一个MainWindow类,它包含一个QTreeView和一个QJsonModel。在MainWindow中,我们定义了一个update_json_data方法,它将JSON数据转换为QJsonDocument并将其设置为QJsonModel的数据源。最后,我们在主函数中创建一个QApplication实例和MainWindow实例,并启动主事件循环。