Мне нужно что бы стиль aero из библиотеки pywinstyle применялся только к окну. Но он применятся и к тексту что создает неприятный дизайн.
Я пробовал использовать frame но не помогло, иногда зависало просто, а иногда просто ломалось приложение.
import tkinter as tk
import customtkinter
from googletrans import Translator
import pywinstyles
class TranslatorApp(customtkinter.CTk):
def __init__(self):
super().__init__()
self.title("Translator")
self.geometry("500x400")
self.resizable(False, False)
self.grid_columnconfigure(0, weight=1)
self.grid_rowconfigure(0, weight=1)
pywinstyles.apply_style(frame, "aero")
self.input_label = customtkinter.CTkLabel(self, text="Введите текст:", font=("Arial", 50))
self.input_label.grid(row=0, column=0, padx=5, pady=5,)
self.input_text = customtkinter.CTkEntry(self, width=200)
self.input_text.grid(row=1, column=0, padx=5, pady=5)
self.language_label = customtkinter.CTkLabel(self, text="Выберите язык:", font=("Arial", 16))
self.language_label.grid(row=2, column=0, padx=5, pady=5)
self.language_optionmenu = customtkinter.CTkOptionMenu(self, values=["English", "Spanish", "French"],
command=self.translate_text)
self.language_optionmenu.grid(row=3, column=0, padx=5, pady=5)
self.output_label = customtkinter.CTkLabel(self, text="Переведенный тект:", font=("Arial", 16))
self.output_label.grid(row=4, column=0, padx=5, pady=5)
self.output_text = customtkinter.CTkTextbox(self, width=600, height=100)
self.output_text.grid(row=5, column=0, padx=5, pady=5)
def translate_text(self, value):
text = self.input_text.get()
target_lang = value
pywinstyles.apply_style(self, "aero")
translator = Translator()
translated_text = translator.translate(text, dest=target_lang).text
self.output_text.delete("1.0", "end")
self.output_text.insert("1.0", translated_text)
app = TranslatorApp()
app.mainloop()