IchaAulia_E32210892/Kode program alat/zerogui.py

65 lines
2.3 KiB
Python

import tkinter as tk
from PIL import Image, ImageTk
# Membuat GUI dengan Tkinter
root = tk.Tk()
root.title("8 Button with Images")
root.configure(bg="white")
root.geometry("480x320")
frame = tk.Frame(root, bg="white")
frame.pack(pady=20)
# Tambahkan gambar/logo di atas
try:
logo_image = Image.open("logo.png")
logo_image = logo_image.resize((50, 60))
logo_photo = ImageTk.PhotoImage(logo_image)
label_logo = tk.Label(frame, image=logo_photo, borderwidth=0, bg="white")
label_logo.image = logo_photo
label_logo.grid(row=0, column=0, columnspan=1, padx=5, pady=5)
except Exception as e:
print(f"Error loading logo image: {e}")
# Tambahkan label untuk menampilkan informasi suhu di sebelah kanan atas
label_temp = tk.Label(frame, text="Suhu Ruangan: 25°C", font=("Montserrat", 10), bg="white", fg="#3F51B5")
label_temp.grid(row=0, column=2, columnspan=2, padx=5, pady=15)
# Memuat gambar untuk tombol-tombol
button_images = []
for i in range(8):
try:
img = Image.open(f"button_image{i+1}.png")
img = img.resize((50, 50))
img = ImageTk.PhotoImage(img)
button_images.append(img)
except Exception as e:
print(f"Error loading image {i+1}: {e}")
button_images.append(None)
# Membuat tombol untuk setiap relay (dengan gambar)
buttons = []
for i in range(2):
for j in range(4):
pin = i * 4 + j
img = button_images[pin]
if img:
btn = tk.Button(frame, image=img, bg="#90CAF9", width=60, height=60, borderwidth=0)
else:
btn = tk.Button(frame, text=f"Button {pin+1}", bg="red", width=8, height=4, borderwidth=0)
btn.grid(row=i+1, column=j, padx=5, pady=5)
buttons.append(btn)
# Tombol untuk mengaktifkan dan menonaktifkan mode penjadwalan
schedule_enabled = False
def toggle_schedule():
global schedule_enabled
schedule_enabled = not schedule_enabled
schedule_button.config(text="Schedule ON" if schedule_enabled else "Schedule OFF", bg="#90CAF9" if schedule_enabled else "red")
schedule_button = tk.Button(frame, text="Schedule OFF", bg="red", width=15, height=2, borderwidth=0, command=toggle_schedule)
schedule_button.grid(row=3, column=0, columnspan=4, padx=5, pady=5)
root.mainloop()