以下是我申请的基本前提:
我建立了一个QFileSystemWatcher来监视目录。在
Path = [r'C:\Users\user\Documents\Images']
DirectoryWatcher = QtCore.QFileSystemWatcher(Path)
DirectoryWatcher.directoryChanged.connect(showImages.UpdateImages)
我以前用过QFileSystemWatcher,它总是工作得很好(无论是目录还是文件更改)。在
应用程序将在\images文件夹中显示图像的幻灯片。将新图像放入\Images文件夹后,幻灯片将重置为包含新图像。如果从\Images文件夹中删除了图像,则幻灯片将再次重置。在
我遇到的问题是:如果我将多个图像拖到\images文件夹中,directoryChanged信号将被多次触发。当它们被添加到同一个映像的文件夹中时,我甚至会将它们拖到相同的映像中。在
这破坏了我的日常生活。对于一批目录更改,有没有方法触发一次directoryChanged信号?一、 e.在最终图像添加到目录之前,我可以禁用信号吗?在
非常感谢!在
解决方案是简单地避免将
directoryChanged
信号连接到更新图像的插槽。相反,只要在发生任何更改时设置一个标志,然后定期检查该标志以查看是否需要任何更新(这可以通过一个简单的计时器机制来完成)。在下面是一个基本的脚本来演示这个想法:
相关问题 更多 >
编程相关推荐