before frames update

This commit is contained in:
2024-07-14 19:50:15 +02:00
parent d7b8f65627
commit 13bcc98cac
9 changed files with 400 additions and 330 deletions

View File

@@ -1,18 +1,37 @@
from tkinter import Toplevel, Text
from pprint import pprint
import customtkinter as ctk
class LogWindow(Toplevel):
def __init__(self, master=None, **kwargs):
super().__init__(master, **kwargs)
self.title("Log Window")
self.geometry("500x300")
self.text = Text(self)
self.text.pack(expand=True, fill="both")
self.protocol("WM_DELETE_WINDOW", self.hide)
class LogWindow:
def __init__(self, parent):
self.frame = ctk.CTkFrame(parent)
self.frame.pack(expand=True, fill="both")
def log(self, message):
self.text.insert("end", pprint(message) + "\n")
self.text.see("end")
self.log_text = ctk.CTkTextbox(self.frame, state="disabled", wrap="word", height=10)
self.log_text.pack(side="left", expand=True, fill="both")
def hide(self):
self.withdraw()
self.scrollbar = ctk.CTkScrollbar(self.frame, command=self.log_text.yview)
self.scrollbar.pack(side="right", fill="y")
self.log_text.configure(yscrollcommand=self.scrollbar.set)
def log_message(self, message):
self.log_text.configure(state="normal")
self.log_text.insert(ctk.END, message + "\n")
self.log_text.see(ctk.END)
self.log_text.configure(state="disabled")
self.log_text.update_idletasks()
def clear(self):
self.log_text.configure(state="normal")
self.log_text.delete('1.0', ctk.END)
self.log_text.configure(state="disabled")
# Example usage
if __name__ == "__main__":
root = ctk.CTk()
log_window = LogWindow(root)
# Example log messages
log_window.log_message("This is a test message.")
log_window.log_message("Another test message.")
root.mainloop()