Python 板


LINE

我希望程式可以同时去多个网站抓线上字典, 然後抓完的thread可以signal我的main thread去更新GUI 程式大略如下: class Searcher(QObject): update=pyqtSignal(str, str) def __init__(self, dictionary, word): super(Searcher, self).__init__() self.dictionary=dictionary self.word=word def run(self): self.update.emit(self.dictionary, self.word) class MyMainWindow(QMainWindow, Ui_MainWindow, QObject): #发送搜寻的讯号 signal=pyqtSignal() def __init__(self, parent=None): super(MyMainWindow, self).__init__() self.setupUi(self) #两本字典 self.dictList=['Yahoo dictionary', 'Webster dictionary'] #所以产生两个Qthread self.searchThreads=[] for dictionary in self.dictList: self.searchThreads.append(QThread()) def click(self): word=self.lineEdit.text() #产生两个Searcher object self.searchers=[] for dictionary in self.dictList: self.searchers.append(Searcher(dictionary, word)) for index , searcher in enumerate(self.searchers): #让每个searcher可以通知gui更新 searcher.update.connect(self.renew) #移到thread里执行 searcher.moveToThread(self.searchThreads[index]) self.searchThreads[index].start() #让main thread可以发signal通知searcher执行 self.signal.connect(searcher.run) #通知thread里面的searcher开始执行 self.signal.emit() //////////// 当我搜寻第一个单字的时候完全没有问题 但是当我搜寻第二个单字的时候 会出现两个下面这种错误 self.update.emit(self.dictionary, self.word) AttributeError: 'NoneType' object has no attribute 'update' 後来try except了一下 发现会有两个空的Searcher(null object)执行到run 之後再有两个正常的Searcher执行run 除了第一次正常以外,之後每次都会这样 不知道问题出在哪里? 题外话,我本来最一开始写的是 Searcher(QThread): 可是有文章说You're doing it wrong 所以才改成继承QObject -- 尽管生命的起源只是一种化学反应 尽管人类的存在只是记忆数据的影子 尽管灵魂并不存在,精神只是神经细胞的火花    尽管世上没有神,人一定要靠一己之力在这残酷的世界中挣扎求存   我还是...... 我还是...... 要以意识之名命令你───「活下去」 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.202.111
1F:→ uranusjr:在清空 self.searchers 之前先把旧的 disconnect 12/19 14:53
2F:→ uranusjr:这程式还有很多其他可以吐槽的地方, 不过我懒得管了... 12/19 14:54







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP