如何在Pyside、QtPy python中将列表从主UI发送到Qthread?

2024-04-16 05:45:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我用Pyside(QtPy)编写了一个应用程序。 应用程序允许用户: 1扫描路径-应用程序将扫描默认路径,并将该路径中的现有文件夹显示为复选框列表。 2用户可以选择多个文件夹,然后在所有这些文件夹上执行一个进程(按钮)。你知道吗

在背景中: 当用户点击“进程”时,我扫描复选框列表,并仅为所选文件夹创建一个新列表(“选中”复选框或“用户选择的文件夹”)。你知道吗

这些文件夹的实际进程将在QThread类的循环中运行。你知道吗

问题是-我的QThread如何使用主UI方法中的“选定文件夹列表”???? 在这一点上,我唯一能让它工作的方法,就是让这个列表成为一个全局参数。主UI方法将值设置为全局列表,QThread可以读取该全局列表。你知道吗

我已经阅读了关于信号和插槽的所有可能的文档,我可以从Qthread向主UI发送任何我想要的东西,但是我找不到一个像样的解释来解释向线程发送数据。你知道吗

谢谢你。你知道吗


Tags: 方法用户路径文件夹应用程序ui列表进程
1条回答
网友
1楼 · 发布于 2024-04-16 05:45:03

实际上,我最终得到了一个非常简单的解决方案。 我在一个新的列表中,在thread对象中设置了我的列表。你知道吗

self.runningProcess = clMyThread()  #This is my thread object
self.runningProcess.ThreadList = self.MainList

self.MainList将是UI中作为输入的任何列表,而ThreadList是线程本身中的相同列表。你知道吗

因此,当您在thread run函数中对该列表执行某些操作时,可以:

for item in self.ThreadList:
    do_something()

相关问题 更多 >