"Windows의 Notepad 내 사용 가능한 기능들을 Python을 이용하여 구현"
Features
- 텍스트 입력
- 새 파일 열기
- 파일 저장
- 프로그램 종료
- 저자 정보
전체 소스코드
from tkinter import *
from tkinter.filedialog import *
import tkinter.font
def new_file(): # 새 파일
txt_area.delete(1.0, END)
def save_file(): # 파일 저장
f = asksaveasfile(mode="w", defaultextension='.txt', filetypes=[('Text files', '.txt')]) # 기본 txt 확장자
txt_save = str(txt_area.get(1.0, END))
f.write(txt_save)
f.close()
def info(): # 저자 정보
help_view = Toplevel(window)
help_view.geometry("300x50+800+300")
help_view.title("저자 정보")
lb = Label(help_view, text="ⓒ2024 MrGuanJo All Rights Reserved.")
lb.pack()
window = Tk() # 객체 생성
window.title("Notepad")
window.geometry("800x800+500+100") # 화면 크기 및 처음 위치
window.resizable(False, False)
menu = Menu(window) # 화면 내 메뉴기능 생성
menu01 = Menu(menu, tearoff=0) # 첫번째 메뉴 생성
menu01.add_command(label="New file", command=new_file) # 첫번째 메뉴 내 구성요소
menu01.add_command(label="Save", command=save_file)
menu01.add_separator() # 메뉴 내 선으로 구분
menu01.add_command(label="Exit", command=window.destroy) # 프로그램 종료
menu.add_cascade(label="File", menu=menu01) # 첫번째 메뉴의 lable을 "File"로
menu02 = Menu(menu, tearoff=0) # 두번째 메뉴 생성
menu02.add_command(label="Author Info.", command=info) # 두번째 메뉴 내 구성요소
menu.add_cascade(label="Author", menu=menu02) # 두번째 메뉴의 label을 "Author"로
font = tkinter.font.Font(size=20, weight="normal")
txt_area = Text(window, font=font ) # 텍스트 창 생성
# 왼쪽, 오른쪽 공백 설정
window.grid_rowconfigure(0, weight=1)
window.grid_columnconfigure(0, weight=1)
txt_area.grid(sticky = N + E + S + W) # 텍스트 창을 동서남북으로 붙이기
window.config(menu=menu)
window.mainloop() # 프로그램 구동 유지
Results
'InfoSec Log > Python' 카테고리의 다른 글
[Python] Blind SQL Injection 자동화 스크립트 (1) | 2024.10.12 |
---|---|
[Python] Criminal IP API OSINT (0) | 2024.06.24 |
[Python] 구글 이미지 웹 스크래핑 (0) | 2024.04.13 |
[Python] 로또 번호 Generator (1) | 2024.04.13 |
[Python]한국경제 기사 웹 스크래이핑 후 엑셀로 저장 (0) | 2024.04.10 |