更新tkin中的文本框小部件

2024-06-25 22:42:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我的文本小部件没有更新。我使用从android手机和bt模块接收串行通信。请帮忙。我尝试使用after(time,function\u name),但什么也没发生。谁能告诉我这个密码有什么问题吗。我想我忘了什么。非常感谢。这是我的密码

    from serial import *
    from tkinter import *

    serialPort = "/dev/ttyAMA0"
    baudRate = 9600
    bluetoothSerial = Serial(serialPort , baudRate, timeout=1) 

    app = Tk()
    app.wm_title("Wireless Notice Board")

    scrollbar = Scrollbar(app)
    scrollbar.pack(side=RIGHT, fill=Y)

    serBuffer = ""

    def readSerial_data():
      while True:

          z = bluetoothSerial.readline().decode()      

          if len(z) == 0:
             break

          global serBuffer

          if z == '\r':
             z = '' 

          if z == '\n':
             serBuffer += "\n" 

             #datalog.insert('0.0', text_data)
             serBuffer = "" 

             print(z)
          else:
             if z == "CLEAR":
              datalog.delete('1.0', END)

             else:
                def split():
                   while True:
                      a,b,c,d,e = z.split(',')                

                      datalog = Text (app, width=200, height=50,bg = e, foreground = c, takefocus=0, font = (b, 32))
                      datalog.pack()

                      datalog.insert('0.0', a)
                      serBuffer += a
                      print(a)

                      print(b)
                      print(c)
                      print(d)
                      print(e)

                      datalog.config(yscrollcommand=scrollbar.set)
                      scrollbar.config(command=datalog.yview)

                  app.after(10, split)

              app.after(100, split)


        app.after(10, readSerial_data) 


    app.after(100, readSerial_data)

    app.mainloop()

Tags: fromimportapp密码dataifsplitprint