这一定是我在使用 PyQT 时遇到的最大麻烦:我已经为我的应用程序编写了一个缩略图线程(我必须对大量的大图像进行缩略图),而且看起来它可以工作(而且几乎可以)。SIGNAL
我的主要问题是每当我从我的线程发送此错误消息时:
QPixmap: It is not safe to use pixmaps outside the GUI thread
我不知道如何解决这个问题。我尝试QIcon
通过我的 传递 a SIGNAL
,但这仍然会产生相同的错误。如果有帮助,这里是处理这些东西的代码块:
Thumbnailer
班级:
class Thumbnailer(QtCore.QThread):
def __init__(self, ListWidget, parent = None):
super(Thumbnailer, self).__init__(parent)
self.stopped = False
self.completed = False
self.widget = ListWidget
def initialize(self, queue):
self.stopped = False
self.completed = False
self.queue = queue
def stop(self):
self.stopped = True
def run(self):
self.process()
self.stop()
def process(self):
for i in range(self.widget.count()):
item = self.widget.item(i)
icon = QtGui.QIcon(str(item.text()))
pixmap = icon.pixmap(72, 72)
icon = QtGui.QIcon(pixmap)
item.setIcon(icon)
调用线程的部分(当一组图像被拖放到列表框时发生):
self.thread.images.append(f)
item = QtGui.QListWidgetItem(f, self.ui.pageList)
item.setStatusTip(f)
self.thread.start()
我不知道如何处理这种东西,因为我只是一个 GUI 新手;)
谢谢大家。