Trujasx commited on
Commit
56d2ba0
·
verified ·
1 Parent(s): 5ed0597

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +68 -5
app.py CHANGED
@@ -1,7 +1,70 @@
1
- import gradio as gr
2
 
3
- def greet(name):
4
- return "Hello " + name + "!!"
 
 
5
 
6
- demo = gr.Interface(fn=greet, inputs="text", outputs="text")
7
- demo.launch()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import customtkinter as ctk
2
 
3
+ # --- Importamos las CLASES de las páginas desde su ubicación correcta ---
4
+ from gui.pages.home_page import HomePage
5
+ from gui.pages.datasets_page import DatasetsPage
6
+ from gui.pages.graphs_page import GraphsPage
7
 
8
+ # --- Paleta de Colores ---
9
+ COLOR_FONDO = "#F9F5F1"
10
+ COLOR_CONTENEDOR = "#FFFFFF"
11
+ COLOR_MENU_BG = "#F0F0F0"
12
+ COLOR_MENU_HOVER = "#E0E0E0"
13
+ COLOR_TEXTO_PRINCIPAL = "#333333"
14
+ COLOR_TEXTO_SECUNDARIO = "#808080"
15
+
16
+ class RobotControlUI(ctk.CTk):
17
+ def __init__(self):
18
+ super().__init__()
19
+ self.title("Panel de Control del Robot")
20
+ self.geometry("1200x800")
21
+ self.configure(fg_color=COLOR_FONDO)
22
+ ctk.set_appearance_mode("Light")
23
+
24
+ main_container = ctk.CTkFrame(self, fg_color=COLOR_CONTENEDOR, corner_radius=25)
25
+ main_container.pack(fill="both", expand=True, padx=20, pady=20)
26
+ main_container.grid_columnconfigure(1, weight=1)
27
+ main_container.grid_rowconfigure(0, weight=1)
28
+
29
+ self.create_icon_bar(main_container)
30
+
31
+ pages_container = ctk.CTkFrame(main_container, fg_color="transparent")
32
+ pages_container.grid(row=0, column=1, sticky="nsew")
33
+ pages_container.grid_rowconfigure(0, weight=1)
34
+ pages_container.grid_columnconfigure(0, weight=1)
35
+
36
+ self.pages = {}
37
+ # Cargamos las clases de las páginas importadas
38
+ for PageClass in (HomePage, DatasetsPage, GraphsPage):
39
+ page_name = PageClass.__name__
40
+ frame = PageClass(parent=pages_container)
41
+ self.pages[page_name] = frame
42
+ frame.grid(row=0, column=0, sticky="nsew")
43
+
44
+ self.show_page("HomePage")
45
+
46
+ def create_icon_bar(self, parent):
47
+ icon_bar_frame = ctk.CTkFrame(parent, fg_color=COLOR_MENU_BG, corner_radius=35)
48
+ icon_bar_frame.grid(row=0, column=0, padx=(20, 10), pady=20)
49
+
50
+ self.nav_buttons = {}
51
+ main_icons_data = [("🏠", "HomePage"), ("🗂️", "DatasetsPage"), ("📈", "GraphsPage")]
52
+
53
+ for i, (icon, page_name) in enumerate(main_icons_data):
54
+ button = ctk.CTkButton(icon_bar_frame, text=icon, font=ctk.CTkFont(size=24), width=50, height=50,
55
+ fg_color="transparent", hover_color=COLOR_MENU_HOVER,
56
+ text_color=COLOR_TEXTO_SECUNDARIO, corner_radius=10,
57
+ command=lambda p=page_name: self.show_page(p))
58
+ button.grid(row=i, column=0, pady=20, padx=10)
59
+ self.nav_buttons[page_name] = button
60
+
61
+ def show_page(self, page_name):
62
+ page = self.pages[page_name]
63
+ page.tkraise()
64
+ for name, button in self.nav_buttons.items():
65
+ button.configure(text_color=COLOR_TEXTO_PRINCIPAL if name == page_name else COLOR_TEXTO_SECUNDARIO)
66
+
67
+ # --- Ejecutar la aplicación ---
68
+ if __name__ == "__main__":
69
+ app = RobotControlUI()
70
+ app.mainloop()