PyQt4, QThread и открытие больших файлов без зависания графического интерфейса
Я хотел бы спросить, как читать большие файлы с диска и поддерживать отзывчивый пользовательский интерфейс PyQt4 (не заблокированный). Я переместил загрузку файла в подкласс QThread, но мой поток GUI завис. Какие-либо предложения? Я думаю, это должно быть что-то с GIL, но я нене знаете, как это отсортировать?
РЕДАКТИРОВАТЬ: я использую vtkGDCMImageReader из проекта GDCM для чтения мультикадрового изображения DICOM и отображения его с помощью vtk и pyqt4. Я делаю эту загрузку в другом потоке (QThread), но мое приложение останавливается, пока изображение не будет загружено. Вот пример кода:
class ReadThread(QThread):
def __init__(self, file_name):
super(ReadThread, self).__init__(self)
self.file_name = file_name
self.reader.vtkgdcm.vtkGDCMImageReader()
def run(self):
self.reader.SetFileName(self.file_name)
self.reader.Update()
self.emit(QtCore.SIGNAL('image_loaded'), self.reader.GetOutput())