четвер, 15 червня 2017 р.

Власний Блокнот мовою Python

Власний Paint ми вже створили, тому тепер спробуємо повторити успіх мільйона програмістів і створити для себе простий текстовий редактор.

Для початку створимо нове вікно tkinter і додамо йому заголовок "My Notepad". Також створимо багаторядкове текстове поле:
from tkinter import * 
Win=Tk() 
Win.title("My Notepad") 
text=Text(Win, height=100, width=300, font="Arial 12") 
text.pack() 
Win.mainloop() 
Тепер створимо меню із однією вкладкою File. А вже в неї два пункти: Open та Save:
... 
m=Menu(Win) 
Win.config(menu=m) 
menu_comand=Menu(m) 
m.add_cascade(label="File",menu=menu_comand) 
menu_comand.add_command(label="Open",command=Open) 
menu_comand.add_command(label="Save",command=Save) 
...
Як ви могли помітити ми пов'язали наші параметри із функціями Open та Save, тому потрібно створити і їх, але для цього спочатку потрібно підключити ще два модулі: tkinter.filedialog та fileinput, вони слугують для роботи з файлами та створення діалогового вікна для запиту файлу. Ось, що маємо:
from tkinter.filedialog import * 
import fileinput 
def Open():    
     openn=askopenfilename()     
     for i in fileinput.input(openn):              
          text.insert(END,l) 
def Save():    
     save=asksaveasfilename()    
     data=text.get(1.0,END)    
     file=open(save,"w")      
     file.write(data)      
     file.close() 
...

Функція Open дозволяє вибрати файл за допомогою зручного діалогового вікна та внести дані файлу в текстове поле для подальшого редагування, а функція Save допомагає вибрати місце зберігання файлу, його ім'я та розширення та вносить зміни у цей файл.
Отже, спробуємо запустити нашу програму та подивитися, як вона працює:
Тепер збережу свій файл вказавши його розширення (*.txt):


На цьому все! Сподіваюся Вам сподобалася дана стаття, а більш детально дізнатися про багаторядкове текстове поле ви зможете в посібнику з програмування мовою Python для 9-го класу, який буде доступний вже 1-го вересня, А поки що рекомендую придбати посібник для 8-го класу тут: proginschool.inf.ua

Немає коментарів:

Дописати коментар

Динамічне програмування мовою Python

Ця тема не входить в шкільний курс інформатики, проте дуже часто представлена на олімпіаді з програмування. Динамічне програмування - це вж...