2. Dach paar Sekunden soll das Fenster neu gemacht werden bzw. ein anderes(ohne das 1000 Fenster aufgehen) dort gibt es Bereiche zum Admin Login und User Login.
Ich komme nicht so weiter. Das war die erste Version(Habe erst aufgegeben):
Code: Alles auswählen
import tkinter as tk
from tkinter import ttk
from PIL import Image, ImageTk
from befehle import *
#Hier wird die das Mainfester erstellt
fenster = tk.Tk()
fenster.title("Name der KI")
fenster.iconbitmap("logo/ki.ico")
fenster.geometry("900x900")
fenster.minsize(width=300, height=300)
frame = tk.Frame(master=fenster, bg="#e0e0e0")
frame.place(width=8000, height=8000)
images = Image.open("logo/logo.png").resize((600, 600))
logo = ImageTk.PhotoImage(images)
textVersion = ttk.Label(text="Version 0.0.0.1")
textVersion.pack(side="right", fill="y")
logoLabel = ttk.Label(fenster, image=logo, background="#e0e0e0")
logoLabel.pack()
textLabel = ttk.Label(text="Calistro", compound="center", padding=50, font=("Arial", 50), background="#e0e0e0")
textLabel.pack()
textCopy = ttk.Label(text="Copyright by ... 2023", padding=20, background="#e0e0e0")
textCopy.pack()
fenster.mainloop()
Ich bräuchte Design Tipps und evtl. jemanden, der mit an deiner KI arbeiten würde.
Die Beste Version vom Chat GPT(nach meine Information, wie ein Fenster erstellt wird):
Code: Alles auswählen
import tkinter as tk
from tkinter import ttk
from PIL import Image, ImageTk
class NeuralNetwork:
def __init__(self):
# Hier können Sie Ihr neuronales Netzwerk initialisieren
pass
def train(self, data):
# Hier können Sie das neuronale Netzwerk trainieren
pass
def predict(self, input_data):
# Hier können Sie Vorhersagen mit dem neuronalen Netzwerk treffen
pass
class AdminLoginWidget(tk.Frame):
def __init__(self, parent, neural_network):
super().__init__(parent)
self.neural_network = neural_network
# Hier können Sie die Benutzeroberfläche für den Admin-Login erstellen
class UserLoginWidget(tk.Frame):
def __init__(self, parent, neural_network):
super().__init__(parent)
self.neural_network = neural_network
# Hier können Sie die Benutzeroberfläche für den Benutzer-Login erstellen
class LoadingWidget(tk.Frame):
def __init__(self, parent):
super().__init__(parent)
# Hier können Sie die Benutzeroberfläche für den Ladebildschirm erstellen
# Hier erstellen wir das Hauptfenster
fenster = tk.Tk()
fenster.title("---")
fenster.iconbitmap("logo/ki.ico")
fenster.geometry("900x900")
fenster.minsize(width=300, height=300)
# Hier erstellen wir das Frame für die Widgets
widget_frame = tk.Frame(fenster)
widget_frame.pack(side="top", fill="both", expand=True)
# Hier erstellen wir die drei Widgets
neural_network = NeuralNetwork()
loading_widget = LoadingWidget(widget_frame)
admin_login_widget = AdminLoginWidget(widget_frame, neural_network)
user_login_widget = UserLoginWidget(widget_frame, neural_network)
# Hier erstellen wir die Registerkarten für die drei Bereiche
tab_control = ttk.Notebook(widget_frame)
tab_control.add(loading_widget, text="Loading")
tab_control.add(admin_login_widget, text="Admin Login")
tab_control.add(user_login_widget, text="User Login")
tab_control.pack(expand=True, fill="both")
# Hier starten wir die Hauptfenster-Schleife
fenster.mainloop()
Code: Alles auswählen
import tkinter as tk
from tkinter import ttk
from tkinter import messagebox
from PIL import Image, ImageTk
class AdminLoginWidget:
def __init__(self, parent):
self.parent = parent
self.username = "admin"
self.password = "1234"
self.admin_frame = ttk.LabelFrame(self.parent, text="Admin Login", width=400, height=200)
self.admin_frame.place(relx=0.5, rely=0.3, anchor="center")
self.username_label = ttk.Label(self.admin_frame, text="Username:")
self.username_entry = ttk.Entry(self.admin_frame, width=20)
self.password_label = ttk.Label(self.admin_frame, text="Password:")
self.password_entry = ttk.Entry(self.admin_frame, show="*", width=20)
self.login_button = ttk.Button(self.admin_frame, text="Login", command=self.check_credentials)
self.username_label.grid(row=0, column=0, padx=5, pady=5)
self.username_entry.grid(row=0, column=1, padx=5, pady=5)
self.password_label.grid(row=1, column=0, padx=5, pady=5)
self.password_entry.grid(row=1, column=1, padx=5, pady=5)
self.login_button.grid(row=2, columnspan=2, padx=5, pady=5)
def check_credentials(self):
if self.username_entry.get() == self.username and self.password_entry.get() == self.password:
self.username_entry.delete(0, 'end')
self.password_entry.delete(0, 'end')
messagebox.showinfo("Success", "Login successful")
self.parent.deiconify()
self.admin_frame.destroy()
AdminDashboard(self.parent)
else:
messagebox.showerror("Error", "Invalid credentials")
class AdminDashboard:
def __init__(self, parent):
self.parent = parent
self.parent.withdraw()
self.admin_dashboard_frame = ttk.Frame(self.parent)
self.admin_dashboard_frame.pack(fill='both', expand=True)
self.admin_dashboard_frame.rowconfigure(0, weight=1)
self.admin_dashboard_frame.columnconfigure(0, weight=1)
self.tabs = ttk.Notebook(self.admin_dashboard_frame)
self.train_tab = ttk.Frame(self.tabs)
self.tabs.add(self.train_tab, text="Training")
self.test_tab = ttk.Frame(self.tabs)
self.tabs.add(self.test_tab, text="Testing")
self.tabs.pack(fill='both', expand=True)
self.training_label = ttk.Label(self.train_tab, text="Train your neural network")
self.training_label.pack(pady=10)
self.add_command_label = ttk.Label(self.test_tab, text="Add commands to test the neural network")
self.add_command_label.pack(pady=10)
class UserLoginWidget:
def __init__(self, parent):
self.parent = parent
self.user_frame = ttk.LabelFrame(self.parent, text="User Login", width=400, height=200)
self.user_frame.place(relx=0.5, rely=0.3, anchor="center")
self.question_label = ttk.Label(self.user_frame, text="What's your question?")
self.question_entry = ttk.Entry(self.user_frame, width=20)
self.ask_button = ttk.Button(self.user_frame, text="Ask", command=self.ask_question)
self.question_label.grid(row=0, column=0, padx=5, pady=5)
Und wie kann ich alles entsprechend ausrichten?
Möchte ja im Admin Bereich die KI trainieren(hat mir auch ein neurologisches Netzwerk gegeben) und weitere Einstellungen und Funktionen über die GUI zu machen.
Vielen Dank