繁体   English   中英

在使用mqtt收到的每条消息上更改QtLabel

[英]Changing the QtLabel on every message received using mqtt

我试图更改我的qt标签并在每次收到esp8266的数据时进行更新。 我正在寻找建议以便做到这一点

def initGui(self):

    self.labelMCdata = QtGui.QLabel("%")

def on_message(client, userdata, msg):

    global x
    x = str(msg.payload)
    print(msg.topic+" "+ x ) 

我不知道是否可以在on_message方法上附加self.labelMCdata.setText ,因为每次我调用initGUI函数时,总会出现错误。

我正在使用self.initGui()命令来调用该函数,但由于未在on_message上定义该函数,因此无法继续。 当我尝试在on_message方法上添加另一个参数时,它说只有3个可用,我不知道它是否限于此。

如果on_message方法在qt gui的同一类中,则可以直接访问标签:

def on_message(client, userdata, msg):

    global x
    x = str(msg.payload)
    self.ui.labelMCdata.settext("my message here!")
    print(msg.topic+" "+ x )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM