在if语句结束之前,我的pyqt似乎没有更新。我试图评论它的各个部分以隔离问题,但仍然是我在if语句中所做的所有更改都会在if语句完成后立即发生。
这是一个继承自pyqt gui类的类。
有问题的代码:(我已经评论了一些简化的内容,以消除它们干扰的可能性。)
if self.state == 3:
try:
HM=float(self.ui.BV.text())
b=True
except:
self.mess("Please give me a number. (: ")
b=False
if b:
print "we got our number",HM
print "first",HM <= float(self.ullim)
print "second",HM >= float(self.llim)
if HM <= float(self.ullim) and HM >= float(self.llim):
print "conditions satisfied"
#self.changestate(4)
print "this should be four:",self.state
self.mess("Sending transaction...")
print "issues1",self.ui.Message.text()
self.txid="Test id"#bitcoinc2.sendt(self.curad, HM)
self.mess("Transaction complete. ID: %s" % self.txid)
print "issues2",self.ui.Message.text()
time.sleep(5)
#self.changestate(0)
return
self.mess("Invalid number...")
return
我已经定义了一个函数混乱,它使用self和一个字符串并将Qlabel设置为字符串。
跑步的时候,我得到的东西有点像这样:
we got our number 0.1
first True
second True
conditions satisfied
this should be four: 3
Setting message to Sending transaction...
issues1 Sending transaction...
Setting message to Transaction complete. ID: Test id
issues2 Transaction complete. ID: Test id
Setting message to Press any button to scan the qr code.
每次我尝试通过self.mess(消息)更改文本时,它都有效。但不是这个,我似乎无法弄清楚有什么不同。
编辑:我认为它不是链接的副本,因为即使是睡眠前的语句也会挂起,直到if结束。