Pracuję (wciąż) nad aplikacją wiążącą książki i aby była przyjemna pod względem estetycznym, dodałem miniaturę do każdej strony, którą przeciągasz. Działa to dobrze, ale jedynym problemem jest to, że gdy przeciągam cała książka (tj. 400 obrazów), całkowicie zamarza , dopóki nie zostanie ukończona.Jak mogę (szybko) miniaturować 300 obrazów za pomocą PyQT4?
Oto mój prosty kod drop:
def fileDropped(self, file):
f = str(file[-1])
if os.path.splitext(f)[1][1:] != 'tif':
reply = QtGui.QMessageBox.question(self, 'Message', 'All files must be TIF images. Would you like me to convert a copy of your file to the TIF format?', QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.Yes:
if not os.path.exists('./djvu_backup/'): os.mkdir('./djvu_backup/')
if f not in self.getChildren(self.ui.pageList): # It's a custom method. It does what it looks like it does.
icon = QtGui.QIcon(f)
pixmap = icon.pixmap(72, 72)
icon = QtGui.QIcon(pixmap)
item = QtGui.QListWidgetItem(f, self.ui.pageList)
item.setIcon(icon)
item.setStatusTip(f)
return True
Ponadto, podobnie jak pytanie z boku, jak widać w kodzie, f = str(file[-1])
. Muszę wybrać ostatni element z mojej opuszczonej tablicy plików za każdym razem, gdy wywoływana jest metoda, ponieważ jest wywoływana dla każdego upuszczonego pliku, nawet jeśli zostały one upuszczone wszystkie naraz. Czy istnieje powód/obejście tego problemu?
Dziękujemy!
Potrzebujesz wątku - http://stackoverflow.com/questions/1595649/threading-in-a-pyqt-application-use-qt-threads-or-python-threads –
Dzięki za pytanie w Pythonie. Przejrzę to. – Blender