관리 메뉴

한다 공부

[Python] 실습3 : 메모장 프로그램 구현 본문

Dev/Python

[Python] 실습3 : 메모장 프로그램 구현

사과당근 2021. 7. 23. 02:16

파이썬 실습하는데 재밌는 기능들이 많았다.

이번엔 메모장.. 비슷한 프로그램을 구현해보자

 

기능은

파일 아래에 '열기, 저장하기, 종료' -> 종료시 메세지 박스

도움말 아래에 '프로그램 정보' -> 메세지 박스

정도이다

 

from tkinter import *
from tkinter import filedialog
from tkinter import messagebox

def open():
	#파일 대화창을 askopenfile을 이용해서 만들고, 동시에 읽는다
    file = filedialog.askopenfile(parent=window, mode='r')
    if file != None:
        lines = file.read()
        # 1.0은 line.column이다.
        #line은 1부터 시작하고 column은 0부터 시작함..
        text.insert('1.0', lines)
        file.close()
        
def save():
	#쓰고 저장하는 기능
    file = filedialog.asksaveasfile(parent=window, mode='w')
    if file != None:
        lines = text.get('1.0', END+'-1c') # 마지막에서 1 char 뺀다, \n제거!
        file.write(lines)
        file.close()
        
def exit():
    if messagebox.askokcancel("Quit", "종료하시겠습니까?"):
        window.destroy()
        
def about():
    label = messagebox.showinfo("About", "메모장 프로그램")

#창 생성
window = Tk()
text = Text(window, height=30, width=80)
text.pack()

#메뉴를 붙인다
menu = Menu(window)
window.config(menu=menu)
filemenu = Menu(menu)

menu.add_cascade(label="파일", menu=filemenu)
filemenu.add_command(label="열기", command=open)
filemenu.add_command(label="저장하기", command=save)
filemenu.add_command(label="종료", command=exit)

helpmenu = Menu(menu, tearoff=0) # 자르는 선

menu.add_cascade(label="도움말", menu=helpmenu)
helpmenu.add_command(label="프로그램 정보", command=about)

window.mainloop()

 

실행해보면

실행 화면, 간단한 메모장

이런 간단한 메모장 같은게 뜬다

메모

이런 메모가 가능하다

 

파일 메뉴

파일 메뉴를 누르면 열기, 저장하기, 종료가 있다

누르면 파일 대화창이 뜨면서 제대로 작동 된다

 

파일 -> 저장하기 를 누르면 아래와 같은 창도 뜬다

파일 - 저장하기 클릭!

 

꽤나 메모장 같다

 

메세지 박스

도움말을 누르고 프로그램 정보를 누르면 이런 메세지 박스가 뜬다.

 

간단한 기능만 하는 메모장이 완성되었다.

wow

 

다음 포스팅은 그림판 프로그램이다

 

 

 

[참고자료] 두근두근 파이썬 (생능출판, 천인국)