@Nikky_Coding

Как сделать влияние стиля только на окно(customtkinter + pywinstyles)?

Мне нужно что бы стиль 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()
  • Вопрос задан
  • 168 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы