티스토리 뷰
반응형
파이썬으로 구현한 간단한 메모장 프로그램 소스 예제입니다.
각자 코드를 다듬어서 좀 더 성능 좋은 메모장으로 만들어보세요.
import tkinter as tk
from tkinter import filedialog
class Notepad:
def __init__(self, master):
self.master = master
self.filename = None
self.text = tk.Text(self.master)
self.text.pack(fill="both", expand=True)
self.create_menu()
def create_menu(self):
menubar = tk.Menu(self.master)
filemenu = tk.Menu(menubar, tearoff=0)
filemenu.add_command(label="New", command=self.new_file)
filemenu.add_command(label="Open", command=self.open_file)
filemenu.add_command(label="Save", command=self.save_file)
filemenu.add_command(label="Save As...", command=self.save_file_as)
filemenu.add_separator()
filemenu.add_command(label="Exit", command=self.master.quit)
menubar.add_cascade(label="File", menu=filemenu)
self.master.config(menu=menubar)
def new_file(self):
self.filename = None
self.text.delete(1.0, tk.END)
def open_file(self):
filetypes = (("Text files", "*.txt"), ("All files", "*.*"))
self.filename = filedialog.askopenfilename(filetypes=filetypes)
if self.filename:
with open(self.filename, "r") as f:
text = f.read()
self.text.delete(1.0, tk.END)
self.text.insert(tk.END, text)
def save_file(self):
if self.filename:
text = self.text.get(1.0, tk.END)
with open(self.filename, "w") as f:
f.write(text)
else:
self.save_file_as()
def save_file_as(self):
filetypes = (("Text files", "*.txt"), ("All files", "*.*"))
self.filename = filedialog.asksaveasfilename(filetypes=filetypes)
if self.filename:
text = self.text.get(1.0, tk.END)
with open(self.filename, "w") as f:
f.write(text)
root = tk.Tk()
root.geometry("500x500")
root.title("Notepad")
notepad = Notepad(root)
root.mainloop()
실행결과:
이 코드는 Tkinter 모듈을 사용하여 메모장 프로그램용 그래픽 사용자 인터페이스(GUI)를 생성합니다.
이 프로그램을 통해 사용자는 파일을 텍스트 문서로 생성/열기/저장할 수 있습니다.
프로그램이 시작되면 상단에 메뉴 표시줄이 있는 빈 창이 생성됩니다. 메뉴 모음에는 New(새 파일 만들기), Open(기존 파일 열기), Save(현재 파일 저장), Save as...(현재 파일을 새 파일로 저장) 및 Exit(프로그램 종료) 옵션이 있는 "File(파일)" 메뉴가 있습니다.
세부 메뉴의 기능은 다음과 같습니다.
- 사용자가 "New"를 선택하면 프로그램이 텍스트 영역을 지우고 파일 이름을 없음으로 설정합니다.
- 사용자가 "Open"를 선택하면 프로그램은 사용자에게 파일을 선택하라는 메시지를 표시한 다음 파일 내용을 텍스트 영역에 로드합니다.
- 사용자가 "Save"을 선택하면 프로그램은 텍스트 영역의 내용을 현재 파일에 저장합니다.
- 사용자가 "Save as..."을 선택하면 프로그램은 사용자에게 새 파일을 선택하라는 메시지를 표시한 다음 텍스트 영역의 내용을 새 파일에 저장합니다.
- 사용자가 "Exit"를 선택하면 프로그램을 종료합니다.
반응형
'Devolopment > Python' 카테고리의 다른 글
python으로 CPU core 및 mac address 얻는 방법 (0) | 2022.06.20 |
---|---|
Python3 AES 암호화, 복호화 (0) | 2022.06.20 |
PDF to TEXT by Python3 (0) | 2021.05.10 |
STRIP TAGS AND JAVASCRIPT FROM HTML PAGE, LEAVING ONLY SAFE TAGS (PYTHON RECIPE) (0) | 2020.03.17 |
python에서 두개의 dictionary를 하나로 합치는 방법 (0) | 2020.03.16 |
반응형
최근에 달린 댓글