1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import tkinter as tk
- import tk_tools
- import numpy as np
- from datetime import datetime
- from .Plot import Plot
- from .globals import *
- from .globals import *
- class Page_4(tk.Frame):
- def __init__(self, parent, controller):
- tk.Frame.__init__(self, parent)
- self.controller = controller
- frame = tk.LabelFrame(self, text="Einstellungen")
- frame.pack(side=tk.LEFT, fill=tk.BOTH)
- label = tk.Label(frame, text="Einstellungen", font=LARGE_FONT)
- label.pack(pady=10,padx=10)
- tk.Label(frame, text="Aktualisierungsinterval in ms").pack()
- self.intervalSlider = tk.Scale(frame, from_=50, to=1000, resolution=10, orient=tk.HORIZONTAL)
- self.intervalSlider.set(300)
- self.intervalSlider.pack(side="top", fill="both", padx=5, pady=5)
- gridFrame = tk.LabelFrame(self, text="System Check")
- gridFrame.pack(side=tk.LEFT, fill=tk.BOTH)
- self.sysLabels = []
- for i in range(1, len(self.controller.columnNames)):
- name = controller.columnNames[i]
- la = tk.Label(gridFrame, fg='red', padx=5, pady=5, text="{:32s}".format(name))
- la.grid(row=i, column=0)
- lb = tk.Label(gridFrame, fg='red', padx=5, pady=5, text="")
- lb.grid(row=i, column=1)
- self.sysLabels.append((la, lb))
- def update(self, visible):
- if visible:
- self.controller.intervalDelay = self.intervalSlider.get()
- row = self.controller.getLastRows(1)[0]
- for i in range(len(row)):
- nameLabel, valueLabel = self.sysLabels[i]
- color = 'red' if np.isnan(row[i]) else 'black' if row[i] == 0 else 'green'
- nameLabel.config( fg = color)
- valueLabel.config(fg = color, text="{:5.4f}".format(row[i]))
|