मैं एक पुस्तक बाध्यकारी अनुप्रयोग पर (अभी भी) काम कर रहा हूं, और इसे सौंदर्यपूर्ण रूप से प्रसन्न करने के लिए, मैंने आपके द्वारा खींचने वाले प्रत्येक पृष्ठ पर एक थंबनेल जोड़ा है। यह ठीक काम करता है, लेकिन एकमात्र समस्या यह है कि जब मैं खींचता हूं एक पूरी किताब (यानी 400 छवियां), यह पूरी तरह से को पूरा होने तक फ्रीज करता है। सिर्फ एक पक्ष के रूप में सवालमैं PyQT4 के साथ 300 छवियों को थंबनेल कैसे करूं?
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
इसके अलावा, जैसा कि आप कोड में देख सकते हैं, f = str(file[-1])
:
यहाँ मेरी सरल ड्रॉप कोड है। जब भी विधि को बुलाया जाता है, तो मुझे अपनी गिराए गए फाइल सरणी से अंतिम तत्व चुनना होता है, क्योंकि इसे प्रत्येक फ़ाइल को छोड़ने के लिए कहा जाता है, भले ही वे सभी एक बार में गिराए जाएं। क्या इसके लिए कोई कारण/कामकाज है?
धन्यवाद!
आपको थ्रेडिंग की आवश्यकता है - http://stackoverflow.com/questions/1595649/threading-in-a-pyqt-application-use-qt-threads-or-python-threads –
पायथन प्रश्न के लिए धन्यवाद। मैं इसके माध्यम से ब्राउज़ करूंगा। – Blender