如何解决将巨大的 Networkx 文件加载到 PyQt
我刚开始使用 PyQt,并为大型网络中的社区检测创建了一个 GUI。网络文件是 graphml、GML、gexf 和 CSV 文件。我可以使用 graphml、GML 和 gexf 将小图形(少于 400 个节点)加载到我的 GUI 中。如果我现在尝试加载超过 400 个节点的文件,程序会崩溃。
这些文件是否存在已知问题?是否有任何解决方案可以将此类文件加载到我的 GUI 中?
import sys
import networkx as nx
from PyQt5.Qt import QFileDialog
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import (
QApplication,QLabel,QMainWindow,QPushButton,QVBoxLayout,QWidget,)
class Window(QMainWindow):
def __init__(self,parent=None):
super().__init__(parent)
self.setupUi()
def setupUi(self):
self.setwindowTitle("Open GraphML")
self.resize(300,150)
self.centralWidget = QWidget()
self.setCentralWidget(self.centralWidget)
# Create and connect widgets
self.clicksLabel = QLabel("Open File",self)
self.clicksLabel.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter)
self.countBtn = QPushButton("Open",self)
self.countBtn.clicked.connect(self.openFile)
# Set the layout
layout = QVBoxLayout()
layout.addWidget(self.clicksLabel)
layout.addWidget(self.countBtn)
layout.addStretch()
self.centralWidget.setLayout(layout)
def openFile(self):
filter = "GraphML (*.graphml)"
dsc = "Open File"
path = "C:\\"
relativeFileName = QFileDialog.getopenFileName(self,dsc,path,filter)
fileName = relativeFileName[0]
graph = nx.read_graphml(fileName)
print(graph.nodes)
app = QApplication(sys.argv)
win = Window()
win.show()
sys.exit(app.exec())
举个例子。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。