PyQt6创建线程并配合信号界面异步输出
2023-12-27 15:45:13
前言:
在使用PyQt6的时候会发现如果代码是在另外一个线程中的想要打印,正常情况下不能打印到界面,但是又有打印到界面显示的需求,这里就需要信号来进行打印,直接上代码
代码:
首先是创建线程和信号:
## 开始结果处理
def StartCheckXlsx(self):
xlsttempFile = self.xlstFile_Edit.text()
xlstSaveFile = self.xlstSaveFile_Edit.text()
LocalFile = self.loalFile_Edit.text()
if xlsttempFile == '' or xlstSaveFile == '' or LocalFile == '':
QMessageBox.about(self, "EROOR", "项目文件和路径等信息不能为空")
else:
# 创建线程
self.thread = JarCheck( xlsttempFile, xlstSaveFile, LocalFile)
# 连接信号
self.thread._signal.connect(self.JarCheck_update_item)
# 开始线程
self.thread.RunMain()
创建完信号和线程,就可以在对应的线程中添加代码,进行打印:
class JarCheck(QThread):
_signal = pyqtSignal(str)
def CheckFalseAlarm(self, urlbacktext, url):
if urlbacktext.find('has no known vulnerabilities') >=0:
self.NewestId.append('')
self._signal.emit('False Positive \n')
QApplication.processEvents()
return True
return False
通过调用对_signal设置内容并调用QApplication.processEvents()即可在线程中打印数据且不会造成主界面的卡死。
代码很简单,做个记录方便下次需要的时候直接拿来调用
?
?
文章来源:https://blog.csdn.net/GalaxySpaceX/article/details/135238706
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!