2016-10-03 58 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()