Программа на Tkinter, Python. В программе будут присутствовать как минимум один текст, два текстовых поля, куда будут вписываться цвета для текста и его заднего фона. При нажатии на кнопку будет происходить смена цвета , который записывается в текстовое поле. Нужна будет кнопка, которая возвращает текст в исходное состояние, а также кнопка для очистки полей ввода и аккуратное расположение объектов при помощи методов place или grid вместо метода pack
Я в вас верю, 100 баллов это максимум.
Answers & Comments
Ответ:Для создания программы на Tkinter, удовлетворяющей данным требованиям, можно использовать следующий код:
import tkinter as tk
class TextColorChanger(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.color = tk.StringVar()
self.bg_color = tk.StringVar()
self.create_widgets()
def create_widgets(self):
self.text_label = tk.Label(self, text="Пример текста", font=("Arial", 24))
self.text_label.grid(row=0, column=0, columnspan=2, pady=10)
self.color_label = tk.Label(self, text="Цвет текста:")
self.color_label.grid(row=1, column=0, padx=5, pady=5, sticky="E")
self.color_entry = tk.Entry(self, textvariable=self.color)
self.color_entry.grid(row=1, column=1, padx=5, pady=5, sticky="W")
self.bg_color_label = tk.Label(self, text="Цвет фона:")
self.bg_color_label.grid(row=2, column=0, padx=5, pady=5, sticky="E")
self.bg_color_entry = tk.Entry(self, textvariable=self.bg_color)
self.bg_color_entry.grid(row=2, column=1, padx=5, pady=5, sticky="W")
self.change_button = tk.Button(self, text="Сменить цвет", command=self.change_color)
self.change_button.grid(row=3, column=0, columnspan=2, padx=5, pady=10)
self.reset_button = tk.Button(self, text="Сбросить", command=self.reset_color)
self.reset_button.grid(row=4, column=0, padx=5, pady=10)
self.clear_button = tk.Button(self, text="Очистить", command=self.clear_fields)
self.clear_button.grid(row=4, column=1, padx=5, pady=10)
def change_color(self):
self.text_label.configure(fg=self.color.get(), bg=self.bg_color.get())
def reset_color(self):
self.color.set("")
self.bg_color.set("")
self.text_label.configure(fg="black", bg="white")
def clear_fields(self):
self.color_entry.delete(0, tk.END)
self.bg_color_entry.delete(0, tk.END)
if __name__ == "__main__":
root = tk.Tk()
root.title("Смена цвета текста")
app = TextColorChanger(master=root)
app.grid()
root.mainloop()
Эта программа создает окно, в котором отображается текст, два текстовых поля для ввода цветов текста и фона, кнопка для смены цвета, кнопка для сброса цвета до исходного значения и кнопка для очистки полей ввода. При нажатии на кнопку "Сменить цвет" текст на экране меняется на цвет, который был введен в текстовых полях. При нажатии на кнопку "Сбросить" цвет текста и фона возвращаются к исходным значениям. При нажатии на кнопку "Очистить" поля для ввода цвета текста и фона очищаются.
Объяснение: