2016-10-03 8 views
-1

私はPythonで非常に新しく、問題があります。 温度センサーを読んで、Tkinter GUIに値を設定しようとしました。StringVar DoubleVarその他

ボタンB1で更新すると、ラベルLTを新しい値に更新する方法がわかりません。

StringVarからget()までのすべてを試しました。

私の失敗を見つけるのを助けてくれることを願っています。あなたのコードに適応できる

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

ファイル= 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() 
関連する問題