动态变化标签的价值与全球可变参数Tkinter

胡丹·阿卜杜勒河

使用此代码,我想根据全局可变LED 1和LED 2使标签L3和L4动态变化,但是不能使其与下面的代码一起使用,有人对我有好的建议吗?我知道它将无法正常工作,因为方法init每次运行我的代码时都会运行一次。在使用root.after之前,我阅读了一些建议,但无法使其与我的代码一起使用。

from Tkinter import *
import ttk
from ttk import *
suhu=30
cahaya=50
LED1='-'
LED2='-'
def mqttx():
    def on_message(mqttc,obj,msg):
        global LED1
        global LED2
        print "Telah Diterima message : "+msg.payload+" topik "+msg.topic
        r.rpush(msg.topic,msg.payload)
        datasuhu = r.lrange("suhu",-1,-1)
        datacahaya = r.lrange("cahaya",-1,-1)
        if msg.topic=="suhu":
            if float(msg.payload)<=suhu :
                mqttc.publish("2","1",qos=0,retain=False)
                LED1="ON"

            elif float(msg.payload)>suhu:
                mqttc.publish("2","0",qos=0,retain=False)
                LED1="OFF"
        if msg.topic=="cahaya" :
            if float(msg.payload) <=cahaya:
                mqttc.publish("1","1",qos=0,retain=False)
                LED2="ON"
            elif float(msg.payload)>cahaya:
                mqttc.publish("1","0",qos=0,retain=False)
                LED2="OFF"


    mqttc.on_message =  on_message
    mqttc.connect("localhost",1883)
    mqttc.subscribe("suhu")
    mqttc.subscribe("cahaya")

class Example(Frame):
    def __init__(self, parent):
        Frame.__init__(self, parent)
        self.parent = parent
        self.initUI()


    def initUI(self):

        self.parent.title("Subcriber")
        self.style = Style()
        self.style.theme_use("default")
        self.pack(fill=BOTH, expand=1)


        self.L3 =Label(self,text="LED 1 : "+LED1)
        self.L3.pack
        self.L3.grid()
        self.L4 =Label(self,text="LED 2 : "+LED2)
        self.L4.pack
        self.L4.grid()



def main():
    root = Tk()
    root.geometry("250x150+300+300")
    app = Example(root)
    root.mainloop()

if __name__ == '__main__':
    mqttx()
    mqttc.loop_start()
    main()
简单的

使用after()呼叫功能,这将在标签更改文本。

我创建了test()功能来测试它没有功能mqttx()

from Tkinter import *
import ttk
from ttk import *

LED1 = '-'
LED2 = '-'

class Example(Frame):

    def __init__(self, parent):
        Frame.__init__(self, parent)
        self.parent = parent
        self.initUI()

        # run first time
        self.update()

    def initUI(self):

        self.parent.title("Subcriber")
        self.style = Style()
        self.style.theme_use("default")
        self.pack(fill=BOTH, expand=1)

        self.L3 = Label(self,text="LED 1 : "+LED1)
        self.L3.grid()
        self.L4 = Label(self, text="LED 2 : "+LED2)
        self.L4.grid()

    def update(self):
        #print('[DEBUG] update_text')

        self.L3['text'] = "LED 1 : " + LED1
        self.L4['text'] = "LED 2 : " + LED2

        # run again after 500ms (0.5s)
        self.after(500, self.update)


def test(root):
    import random    
    global LED1
    global LED2

    print('[DEBUG] test')
    LED1 = str(random.randint(1,10))
    LED2 = str(random.randint(1,10))

    # run again after 500ms (0.5s)
    root.after(500, test, root)

def main():
    root = Tk()
    root.geometry("250x150+300+300")
    app = Example(root)
    test(root)
    root.mainloop()

main()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我们如何根据订阅的主题消息的变化动态地更改Tkinter的标签小部件中的文本?

来自分类Dev

PHP全球和显示价值

来自分类Dev

Kotlin的全球通用价值

来自分类Dev

全球价值未得到体现

来自分类Dev

Tkinter的全球热键

来自分类Dev

Tkinter:配置动态生成的标签的方法

来自分类Dev

在Tkinter中动态更改标签值

来自分类Dev

如何使用 highcharter 添加“标签”和“价值”参数

来自分类Dev

索引价值变化的位置

来自分类Dev

变量变化的价值

来自分类Dev

具有变化的返回类型的可变参数模板参数列表

来自分类Dev

Grails如何根据变化的搜索参数动态搜索

来自分类Dev

如何动态创建参数对数量变化的函数

来自分类Dev

更新tkinter标签并使用条目选择参数

来自分类Dev

将动态tkinter变量插入函数参数

来自分类Dev

无法存储$的价值?可变

来自分类Dev

带可变参数的回调函数tkinter按钮

来自分类Dev

Swift UICollectionView 水平滚动单元格标签宽度根据标签内容长度动态变化

来自分类Dev

在网站上跟踪全球价值

来自分类Dev

MySQL每日分数变化与全球排名

来自分类Dev

从主要实验到参数变化实验中获取可变结果-AnyLogic

来自分类Dev

NSManagedObject的变化反映了动态变化

来自分类Dev

查询以获取每日价值变化?

来自分类Dev

突出价值变化ReactJS

来自分类Dev

查找/替换不断变化的价值?

来自分类Dev

Tkinter使用按钮和方法动态更改标签

来自分类Dev

Tkinter使用按钮和方法动态更改标签

来自分类Dev

如何在Tkinter中创建动态标签颜色?

来自分类Dev

tkinter:动态更改标签文本而不重复如果测试