StringVar DoubleVar等

时间:2016-10-03 17:02:27

标签: python tkinter

我是Python的新手,我遇到了问题。 我尝试读取温度传感器并将值设置为我的Tkinter GUI。

如果我使用我的按钮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()

1 个答案:

答案 0 :(得分: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()