´ÙÀ½°ú °°Àº ÆùÆ® ´ÙÀ̾ó·Î±×
¹Ú½º¸¦ ±â´ëÇϰÚÁö¸¸, ¾ÆÁ÷ tkinter Àº ÆùÆ® ´ÙÀ̾ó·Î±×
¹Ú½º¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù. º»ÀÎÀÌ Á÷Á¢ ¸¸µé¾î¾ß ÇÕ´Ï´Ù. ´ÜÁö ÆùÆ® ¶óÀ̺귯¸®¸¸ Áö¿øÇÕ´Ï´Ù.

ÀÓÆ÷Æ®ÇÏ¿©¾ß ÇÒ ¶óÀ̺귯¸®
from
tkinter import font
ÆùÆ® ÁöÁ¤ ¹æ¹ý
¡¼Çü½Ä¡½
ÆùÆ®º¯¼ö=font.Font(family="ÆùÆ®", size=¼ýÀÚ, ¿É¼Ç)
°³Ã¼º¯¼ö.configure(font=ÆùÆ®º¯¼ö)
¡¼¿¹Á¦¡½
myFont=font.Font(family="¼¿ïÇѰü B", size=20)
contentText.configure(yscrollcommand=scrollBar.set, font=myFont)
ÆùÆ®¸¦ ÁöÁ¤Çϸé ȸ鿡 ÁöÁ¤µÈ
ÆùÆ®·Î ³ªÅ¸³ª°í ÇÁ¸°ÅÍ·Î
Ãâ·ÂÇϸé ÁöÁ¤µÈ ÆùÆ®·Î
ÀμâµË´Ï´Ù.
¡¼¼Ò½º
ÇÁ·Î±×·¥¡½
#File Name: Notepad_07.py
import tkinter as tk
from tkinter import Menu
import tkinter.filedialog
import os
import win32api
import win32print
import tempfile
from tkinter import font
def doFileNew():
mainWin.title("Á¦¸ñ ¾øÀ½ - Windows ¸Þ¸ðÀå")
contentText.delete(1.0, 'end')
def doFileOpen():
myFileName
= tk.filedialog.askopenfilename(initialdir="/",
title="ÆÄÀÏ ¿±â", filetypes=(("Text
Files","*.txt"), ("All Files", "**")))
if
myFileName:
inFile=open(myFileName,'r',encoding='utf-8')
fileData=inFile.read()
contentText.insert(1.0, fileData)
inFile.close()
fileName=os.path.basename(myFileName)
mainWin.title(fileName + " - Windows ¸Þ¸ðÀå")
def doFileSave():
if myFileName==None:
myFileName = tk.filedialog.asksaveasfilename(initialdir="/",
title="ÀúÀå", filetypes=(("Text
Files","*.txt"), ("All Files", "*.*")))
outFile=open(myFileName,'w',encoding='utf-8')
fileData=contentText.get(1.0,'end')
outFile.write(fileData)
outFile.close()
else :
outFile=open(myFileName,'w',encoding='utf-8')
fileData=contentText.get(1.0,'end')
outFile.write(fileData)
outFile.close()
fileName=os.path.basename(myFileName)
mainWin.title(fileName + " - Windows ¸Þ¸ðÀå")
def doFileAsSave():
myFileName
= tk.filedialog.asksaveasfilename(initialdir="/",
title="´Ù¸¥ À̸§À¸·Î ÀúÀå",
filetypes=(("Text Files","*.txt"), ("All Files",
"*.*")))
if myFileName:
outFile=open(myFileName,'w',encoding='utf-8')
fileData=contentText.get(1.0,'end')
outFile.write(fileData)
outFile.close()
fileName=os.path.basename(myFileName)
mainWin.title(fileName + " - Windows ¸Þ¸ðÀå")
def doPrint():
defaultPrinter=win32print.GetDefaultPrinter()
fileData=contentText.get(1.0,'end')
filename =
tempfile.mktemp(".txt")
open(filename, "w").write(fileData)
win32api.ShellExecute(0, "print", filename,
'"%s"' % defaultPrinter,".", 0)
# Create instance of Window
mainWin=tk.Tk()
# Set title and size
mainWin.title("Á¦¸ñ ¾øÀ½ - Windows ¸Þ¸ðÀå")
mainWin.geometry("640x480")
myFont=font.Font(family="¸¼Àº °íµñ",
size=15)
#Creating a Menu Bar
menuBar=tk.Menu(mainWin)
mainWin.config(menu=menuBar)
menuFile=tk.Menu(menuBar, tearoff=0)
menuBar.add_cascade(label="ÆÄÀÏ(F)",
menu=menuFile)
menuFile.add_command(label="»õ·Î ¸¸µé±â(N)",
accelerator="Ctrl+N", command=doFileNew)
menuFile.add_command(label="ț ̢(W)",
accelerator="Ctrl+Shift+N")
menuFile.add_command(label="¿±â(O)...",
accelerator="Ctrl+O", command=doFileOpen)
menuFile.add_command(label="ÀúÀå(S)",
accelerator="Ctrl+S", command=doFileAsSave)
menuFile.add_command(label="´Ù¸¥ À̸§À¸·Î ÀúÀå(A)...",
accelerator="Ctrl+Shift+S", command=doFileAsSave)
menuFile.add_separator()
menuFile.add_command(label="ÆäÀÌÁö ¼³Á¤(U)...")
menuFile.add_command(label="Àμâ(P)...",
accelerator="Ctrl+P", command=doPrint)
menuFile.add_separator()
menuFile.add_command(label="³¡³»±â(X)",
command=mainWin.destroy)
menuEdit=tk.Menu(menuBar,tearoff=0)
menuBar.add_cascade(label="ÆíÁý(E)",
menu=menuEdit)
menuEdit.add_command(label="½ÇÇà Ãë¼Ò(U)",
accelerator="Ctrl+Z")
menuEdit.add_command(label="Àß¶ó³»±â(T)",
accelerator="Ctrl+X")
menuEdit.add_command(label="º¹»ç(C)",
accelerator="Ctrl+C")
menuEdit.add_command(label="ºÙ¿©³Ö±â(P)",
accelerator="Ctrl+C")
menuEdit.add_command(label="»èÁ¦(L)",
accelerator="Del", compound="left", underline=0)
menuEdit.add_separator()
menuEdit.add_command(label="BingÀ¸·Î °Ë»ö(S)",
accelerator="Ctrl+E")
menuEdit.add_command(label="ã±â(F)",
accelerator="Ctrl+F", compound="left")
menuEdit.add_command(label="´ÙÀ½ ã±â(N)",
accelerator="F3", compound="left")
menuEdit.add_command(label="ÀÌÀü ã±â(V)",
accelerator="Shift+F3")
menuEdit.add_command(label="¹Ù²Ù±â(R)",
accelerator="Ctrl+H")
menuEdit.add_command(label="À̵¿(G)...",
accelerator="Ctrl+G")
menuEdit.add_separator()
menuEdit.add_command(label="¸ðµÎ ¼±ÅÃ(A)...",
accelerator="Ctrl+A")
menuEdit.add_command(label="½Ã°£/³¯Â¥(D)...", accelerator="F5")
menuFormat=tk.Menu(menuBar,tearoff=0)
menuBar.add_cascade(label="¼½Ä(O)",
menu=menuFormat)
#menuFormat.add_command(label="ÀÚµ¿ ÁÙ ¹Ù²Þ(W)")
show_LineFeed=tk.BooleanVar()
menuFormat.add_checkbutton(label="ÀÚµ¿ ÁÙ ¹Ù²Þ(W)", variable=show_LineFeed)
menuFormat.add_command(label="±Û²Ã(F)...")
menuView=tk.Menu(menuBar,tearoff=0)
menuBar.add_cascade(label="º¸±â(V)",
menu=menuView)
menuEnlarge=tk.Menu(menuBar,tearoff=0)
menuView.add_cascade(label="È®´ëÇϱâ/Ãà¼ÒÇϱâ", menu=menuEnlarge)
menuEnlarge.add_command(label="È®´ë(I)",
accelerator="Ctrl+´õÇϱâ")
menuEnlarge.add_command(label="Ãà¼Ò(O)",
accelerator="Ctrl+»©±â")
menuEnlarge.add_command(label="È®´ëÇϱâ/Ãà¼ÒÇϱâ
±âº»°ª º¹¿ø", accelerator="Ctrl+0")
#menuView.add_command(label="»óÅÂÇ¥½ÃÁÙ(S)")
show_StatusBar=tk.BooleanVar()
menuView.add_checkbutton(label="»óÅÂÇ¥½ÃÁÙ(S)",variable=show_StatusBar)
menuHelp=tk.Menu(menuBar,tearoff=0)
menuBar.add_cascade(label="µµ¿ò¸»(H)",
menu=menuHelp)
menuHelp.add_command(label="µµ¿ò¸» º¸±â(H)")
menuHelp.add_command(label="Çǵå¹é º¸³»±â(F)")
menuHelp.add_separator()
menuHelp.add_command(label="¸Þ¸ðÀå Á¤º¸(A)")
#Text Box with scrollbar
contentText=tk.Text(mainWin, wrap='word')
contentText.pack(expand='yes', fill='both')
scrollBar=tk.Scrollbar(contentText)
#contentText.configure(yscrollcommand=scrollBar.set)
contentText.configure(yscrollcommand=scrollBar.set, font=myFont)
scrollBar.config(command=contentText.yview)
scrollBar.pack(side='right', fill='y')
# Start Window
mainWin.mainloop()