PyQt GUIがロードされているときに、ローカルHDDに格納された非常に大きなパンダデータフレームをロードする必要があります。大きなpklファイルをpytqウィンドウに読み込む方法は?
問題は、巨大なファイルのロードが完了するまでGUIウィンドウがハングすることです。
以下は私のサンプルコードです。
スレッドとプログレスバーウィンドウを使用することで問題が解決できると思います。
しかし、私が見つけたスレッドの例は、グローバル関数と変数を使用しています。
私の状況では、self.pkl.fileにデータがロードされているはずです。だから私はクラス/関数をスレッドにインスタンスを投げる適切な方法を見つける必要があります。
私の状況に合わせていくつかのサンプルコードまたはガイドラインをご紹介いただきたいと思います。
ありがとうございます。
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtGui
import pandas as pd
class Pkl():
def __init__(self):
self.file = pd.read_pickle('file.dat')
class MyWindow(QtGui.QMainWindow):
def __init__(self, parent=None):
super(MyWindow, self).__init__(parent)
self.setWindowTitle('MyWindow')
self.show()
self.pkl = Pkl()
def close_application(self):
self.close()
def main():
app = QtGui.QApplication(sys.argv)
GUI = MyWindow()
'''
w = QtGui.QWidget()
w.resize(250, 150)
w.move(300, 300)
w.setWindowTitle('Simple')
w.show()
'''
sys.exit(app.exec_())
if __name__ == '__main__':
main()