Я хотел бы спросить, как читать большой файл с диска и поддерживать пользовательский интерфейс PyQt4 отзывчивым (не заблокированным). Я переместил загрузку файла в подкласс QThread, но мой поток графического интерфейса зависает. Какие-либо предложения? Я думаю, что это должно быть что-то с GIL, но я не знаю, как его сортировать?
EDIT: Я использую 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())