2016-10-03 65 views
-1

我对Python很新,我有一个问题。 我尝试读取我的温度传感器并将Value设置到我的Tkinter GUI中。StringVar DoubleVar和其他

我不知道如何更新我的标签LT与新的价值,如果我更新我的按钮B1

我已经尝试了一切从StringVarget()和这个东西。

我希望你能帮我找到我的失败。

这里是我的代码:

from tkinter import * 
import os 

Main = Tk() 
Main.title("Hauptmenü") 
Main.geometry("500x400") 
class Fenster(): 

    def Credit(): 
     messagebox.showinfo(title="Credits",message="created by T.N v0.1") 
     return 

    def Beenden(): 
     pExit = messagebox.askyesno(title="Beenden",message="Möchten Sie\n wirklich beenden?") 
     if pExit > 0: 
      Main.destroy() 
      return 

    def auslesen(event): 
     file = open("/sys/bus/w1/devices/28-041635ad4cff/w1_slave") 
     inhalt = file.read() 
     trennwoerter = inhalt.split(" ") 
     Wert = (trennwoerter[20]) 
     Temp = (Wert[2:4]) 
     file.close() 


    labelauslesen = Label(Main,text="Aktuelle Temperatur :") 
    labelauslesen.pack() 

    LT = Label(Main,text=Inhalt) 
    LT.pack() 

    B1 = Button(Main,text="Temperatur auslesen") 
    B1.pack() 
    B1.bind("<Button-1>",auslesen) 

    menubar=Menu(Main) 

    filemenu = Menu(menubar) 
    filemenu.add_command(label="Sensoren auslesen") 
    filemenu.add_command(label="Diagram anzeigen") 
    filemenu.add_command(label="Credits",command = Credit) 
    filemenu.add_command(label="Beenden",command = Beenden) 

    menubar.add_cascade(label="Datei",menu=filemenu) 

    Main.config(menu=menubar) 


mainloop() 
+0

目前尚不清楚在点击按钮后标签显示的内容。 – Goyo

+0

我想标记我从“def auslesen”获得的温度值 – Helao8

+0

file = open(“/ sys/bus/w1/devices/28-041635ad4cff/w1_slave”) 我想在标签中显示数据 – Helao8

回答

1

一个最小的例子,你能适应你的代码。

import tkinter as tk 
root=tk.Tk() 

temp = 10.0 
def update_temp(): 
    global temp 
    temp += 1.3 
    tlabel['text'] = '%s degrees C' % round(temp, 1) 

tlabel = tk.Label(root, text='unknown') 
tbutton = tk.Button(root, text='new temp', command=update_temp) 
tlabel.pack() 
tbutton.pack() 
root.mainloop()