Mache gerade meine ersten Gehversuche mit Python. Der Nachfolgende Code liest den seriellen Port und gibt dessen Inhalt in ein Label aus.
Das erste Label soll lediglich die Beschreibung für das zweite enthalten, dessen Wert permanent verändert wird.
Funktioniert auch alles soweit, außer dass das 2. Label leicht nach oben versetzt ist. Wie bekomme ich das hin, dass das Label genau auf gleicher Höhe neben dem ersten ist?
Code: Alles auswählen
# -*- coding: utf-8 -*-
from serial import *
#from Tkinter import *
import Tkinter
serialPort = "/dev/ttyACM0"
baudRate = 9600
ser = Serial(serialPort, baudRate, timeout=0, writeTimeout=0)
#mache TKinter Fenster
root = Tkinter.Tk()
root.wm_title("Reading Serial")
lbl_zuwert1=Tkinter.Label(root, text="Wert 1 beträgt: ",anchor=CENTER)
#lbl_zuwert1.pack(padx=0, pady=10, side=LEFT)
lbl_zuwert1.grid(row=0, column=0)
lbl_wert1=Tkinter.Label(root,text="Hallo")
#lbl_wert1.pack(padx=5, pady=20, side=RIGHT)
lbl_wert1.grid(row=0, column=1)
#mache SerialBuffer
serBuffer = ""
def readSerial():
while True:
c = ser.read()
#wurde was gelesen?
if len(c) == 0:
break
#hole Buffer außerhalb der Funktion
global serBuffer
#check ob char ein delimeter
if c == '\r':
c='' #kuebeln
if c == '\n':
serBuffer += "\n"
#Schreibe Zeile oben in txt
##txt_1.insert('0.0', serBuffer)
lbl_wert1.config(text=str(serBuffer))
serBuffer = ""
else:
serBuffer += c
root.after(10, readSerial) #check serial again soon
# after initializing serial, an arduino may need a bit of time to reset
root.after(100, readSerial)
root.mainloop()