• Завдання. Створити простий текстовий редактор, що дозволяє створювати текстові документи, зберігати та відкривати їх. 1. Імпортуй графічну бібліотеку tkinter. from tkinter import * 2. Створи головне вікно root та розмісти команду для відображення вікна після запуску програми. root = Tk() # створення головного вікна (завжди називай головне вікно root!) # команди root.mainloop() # команда відображення вікна при запуску 3. Задай заголовок вікна «Мій блокнот» root.title('Мій блокнот') 4. Встав текстове поле text з шириною 100. text = Text(root, width=___) text.pack() 5. Додай до поля смугу прокручування scroll. scroll = Scrollbar(root) scroll.pack(side=RIGHT, fill=Y) text.pack(side=LEFT, fill=Y) scroll.config(command=text.yview) text.config(yscrollcommand=scroll.set) Створення меню 6. Задай змінну для головного меню і прикріпи його до вікна. mainmenu = Menu(root) root.config(menu=___) 7. Створи пункт меню «Файл» (змінна filemenu) та прикріпи його до головного меню. filemenu = Menu(mainmenu, tearoff=0) mainmenu.add_cascade(label='Файл', menu=___) 8. Для пункту меню «Файл» створи підпункти-команди «Відкрити», «Зберегти», «Вийти». filemenu.add_command(label='Відкрити') … 9. Перед підпунктом «Вийти» задай лінію відділення. filemenu.add_separator() 10. Оформи підпункт «Зберегти», який зберігатиме файл на комп’ютер чи інший носій: • підключи модуль роботи з діалоговими вікнами відкриття та збереження файлів from tkinter.filedialog import * • запиши функцію save_file для підпункту def save_file(): ask_save = asksaveasfilename() letter = text.get(1.0, END) f = open(ask_save, "w") f.write(letter) f.close() Результат виконання функції – відкриття вікна для збереження файлу: • зв’яжи функцію з підпунктом за допомогою властивості command (command=save). 11. Оформи підпункт «Відкрити», який відкриватиме збережений файл: • підключи модуль для роботи з файлами import fileinput • запиши функцію open_file для підпункту def open_file(): ___.delete(1.0, END) ask_open = askopenfilename() for let in fileinput.input(ask_open): ___.insert(END, let) • зв’яжи функцію з підпунктом. 12. Оформи підпункт «Вийти»: • підключи модуль для роботи зі стандартними діалоговими вікнами from tkinter.messagebox import * • запиши функцію ex для підпункту def ex(): if askyesno("Вихід", "Ви справді хочете вийти?"): root.destroy() Результат виконання функції: • зв’яжи функцію з підпунктом. 13. До головного меню прикріпи пункти-команди «Довідка» та «Фон». mainmenu.add_command(label='Довідка', command=show) mainmenu.add_command(label='Фон', command=color) 14. Задай функцію show для пункту «Довідка», яка викликає вікно showinfo, що дозволяє виводити повідомлення для користувача з кнопкою OK. Перший аргумент – це те, що виведеться в заголовку вікна, а другий – те, що буде міститися в тексті повідомлення. def show(): showinfo("Довідка", "Це програма Мій блокнот") Результат виконання функції: 15. Оформи пункт «Фон» (за його допомогою можна буде змінювати колір фону текстового поля): • підключи модуль для вибору кольору from tkinter.colorchooser import askcolor • запиши функцію color для зміни кольору фону текстового поля def color(): (triple, h) = askcolor() if h: text.config(bg=h) • зв’яжи функцію з пунктом. Результат виконання функції:

Ответы 1

  • from tkinter import *

    from tkinter.filedialog import *

    import fileinput

    from tkinter.messagebox import *

    from tkinter.colorchooser import askcolor

    def save_file():

    ask_save = asksaveasfilename()

    letter = text.get(1.0, END)

    f = open(ask_save, "w")

    f.write(letter)

    f.close()

    def open_file():

    text.delete(1.0, END)

    ask_open = askopenfilename()

    for let in fileinput.input(ask_open):

    text.insert(END, let)

    def ex():

    if askyesno("Вихід", "Ви справді хочете вийти?"):

    root.destroy()

    def show():

    showinfo("Довідка", "Це програма Мій блокнот")

    def color():

    (triple, h) = askcolor()

    if h:

    text.config(bg=h)

    root = Tk()

    root.title('Мій блокнот')

    text = Text(root, width=100)

    text.pack(side=LEFT, fill=Y)

    scroll = Scrollbar(root)

    scroll.pack(side=RIGHT, fill=Y)

    scroll.config(command=text.yview)

    text.config(yscrollcommand=scroll.set)

    mainmenu = Menu(root)

    root.config(menu=mainmenu)

    filemenu = Menu(mainmenu, tearoff=0)

    mainmenu.add_cascade(label='Файл', menu=filemenu)

    filemenu.add_command(label='Відкрити', command=open_file)

    filemenu.add_command(label='Зберегти', command=save_file)

    filemenu.add_separator()

    filemenu.add_command(label='Вийти', command=ex)

    mainmenu.add_command(label='Довідка', command=show)

    mainmenu.add_command(label='Фон', command=color)

    root.mainloop()

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years