II. ÅØ½ºÆ® ¹Ú½º

01. ÅØ½ºÆ® ¹Ú½º »ý¼º

 

¡¼Çü½Ä¡½

ÅØ½ºÆ®¹Ú½º°³Ã¼¸í=tkinter.Text(À©µµ¸í, wrap='word')

ÅØ½ºÆ®¹Ú½º°³Ã¼¸í.pack(expand='yes', fill='both')

 

 

 

¡¼Example¡½

contentText=tk.Text(mainWin, wrap='word')

contentText.pack(expand='yes', fill='both')

 

02. ½ºÅ©·Ñ¹Ù »ý¼º

¡¼Çü½Ä¡½

ÅØ½ºÆ®¹Ú½º°³Ã¼¸í=tkinter.Text(À©µµ¸í, wrap='word')

ÅØ½ºÆ®¹Ú½º°³Ã¼¸í.pack(expand='yes', fill='both')

 

½ºÅ©·Ñ¹Ù °³Ã¼¸í=tkinter.Scrollbar(ÅØ½ºÆ®¹Ú½º°³Ã¼¸í)

ÅØ½ºÆ®¹Ú½º°³Ã¼¸í.configure(yscrollcommand= ½ºÅ©·Ñ¹Ù°³Ã¼¸í.set)

½ºÅ©·Ñ¹Ù°³Ã¼¸í.config(command= ÅØ½ºÆ®¹Ú½º°³Ã¼¸í.yview)

½ºÅ©·Ñ¹Ù°³Ã¼¸í.pack(side='right', fill='y')

 

 

¡¼¿¹Á¦¡½

#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)

scrollBar.config(command=contentText.yview)

scrollBar.pack(side='right', fill='y')

 

 

 

 

 

 

03. ÅØ½ºÆ® ¸Þ¼­µå

¡¼01¡½ ÅØ½ºÆ® ¹®ÀÚ¿­ ¸Þ¼­µå

À̸§

ÀǹÌ

¼³¸í

insert(index, "¹®ÀÚ¿­")

¹®ÀÚ¿­ »ðÀÔ

ÇØ´ç index À§Ä¡¿¡ ¹®ÀÚ¿­À» »ðÀÔ

delete(start_index, end_index)

¹®ÀÚ¿­ »èÁ¦

start_indexºÎÅÍ end_index±îÁöÀÇ ¹®ÀÚ¿­ »èÁ¦

get(start_index, end_index)

¹®ÀÚ¿­ ¹Ýȯ

start_indexºÎÅÍ end_index±îÁöÀÇ ¹®ÀÚ¿­ ¹Ýȯ

index(index)

À妽º ¹Ýȯ

index°¡ À½¼ö ÀÏ °æ¿ì, 1.0À¸·Î ¹Ýȯ

see(index)

¹®ÀÚ¿­ Ç¥½Ã ¹Ýȯ

index À§Ä¡¿¡ ÅØ½ºÆ®°¡ Ç¥½ÃµÇ¸é True ¹Ýȯ

 

Tip : index´Â line.columnÀ» »ç¿ë, lineÁÙ, column¹øÂ° ¹®ÀÚ¸¦ ÀǹÌÇÔ 

¿¹) ù ¹øÂ° ÁÙ, ù ¹øÂ° ¹®ÀÚ = 1.0

 

Àüü¸¦ »èÁ¦Çϱâ À§Çؼ­´Â

delete(1.0, 'end')

 

¡¼02¡½ ÅØ½ºÆ® ¸¶Å© ¸Þ¼­µå

À̸§

ÀǹÌ

¼³¸í

mark_set(mark, index)

¸¶Å© À§Ä¡ ¼³Á¤

ÇØ´ç ¸¶Å©ÀÇ À§Ä¡ Àç¼³Á¤

mark_unset(mark)

¸¶Å© À§Ä¡ Á¦°Å

ÇØ´ç ¸¶Å©ÀÇ Ç¥½Ã Á¦°Å

mark_gravity(mark,gravity)

Űº¸µå Ä¿¼­ »ðÀÔ À§Ä¡ º¯°æ

ÇØ´ç ¸¶Å© »ç¿ë ½Ã, ÁÂÃø »ðÀÔ ¶Ç´Â ¿ìÃø »ðÀÔÀ¸·Î º¯°æ

index(mark)

¸¶Å© À§Ä¡ ¹Ýȯ

ÇØ´ç ¸¶Å© À§Ä¡ ¹Ýȯ

mark_names()

¸ðµç ¸¶Å© ¹Ýȯ

ÅØ½ºÆ®¿¡¼­ »ç¿ëµÈ ¸ðµç ¸¶Å©¸¦ ¹Ýȯ

 

Tip : gravity´Â left(ÁÂÃø »ðÀÔ)¿Í right(¿ìÃø »ðÀÔ)·Î »ç¿ë, ±âº»°ªÀº right¸¦ »ç¿ë

 

¡¼03¡½ ÅØ½ºÆ® ¸¶Å©

À̸§

ÅØ½ºÆ® À̸§

ÀǹÌ

-

y.x

y ¹øÂ° ÁÙ x ¹øÂ° ¹®ÀÚ

-

1.0

ù ¹øÂ° Á٠ù ¹øÂ° ¹®ÀÚ

-

y.0

y ¹øÂ° Á٠ù ¹øÂ° ¹®ÀÚ

-

y.end

y ¹øÂ° ÁÙ ¸¶Áö¸· ¹®ÀÚ

tkinter.INSERT

insert

»ðÀÔ Ä¿¼­ÀÇ À§Ä¡

tkinert.CURRENT

current

¸¶¿ì½º Æ÷ÀÎÅÍ¿¡ °¡Àå °¡±î¿î ¹®ÀÚÀÇ À§Ä¡

tkinter.END

end

ÅØ½ºÆ®ÀÇ ¸¶Áö¸· ¹®ÀÚ À§Ä¡

tkinert.SEL_FIRST

sel.firs t

ºí·Ïó¸® µÇ¾úÀ» ¶§ÀÇ ¾Õ ºÎºÐ

tkinert.SEL_LAST

sel.last

ºí·Ïó¸® µÇ¾úÀ» ¶§ÀÇ µÞ ºÎºÐ

-

[¸¶Å©] linestart

¸¶Å©¿¡¼­ ¾ÕÀÇ Çà

-

[¸¶Å©] lineend

¸¶Å©¿¡¼­ µÚÀÇ Çà

-

[¸¶Å©] wordstart

¸¶Å©¿¡¼­ ´Ü¾îÀÇ ¾Õ

 

Tip : 3.5 wordstart·Î ¸¶Å©¸¦ »ç¿ëÇÒ °æ¿ì, 3¹øÂ° ÁÙ 5 ¹øÂ°¿¡ Æ÷ÇÔµÈ ´Ü¾îÀÇ ¾Õ ºÎºÐÀ¸·Î ¼³Á¤µË´Ï´Ù.

 

¡¼04¡½ ÅØ½ºÆ® ¸¶Å© ¸Þ¼­µå

À̸§

ÀǹÌ

¼³¸í

tag_add(tagname, start_index, end_index)

ÅÂ±× »ý¼º

start_indexºÎÅÍ end_index±îÁöÀÇ tagnameÀ» »ý¼º

tag_remove(tagname, start_index, end_index)

ÅÂ±× Á¦°Å

start_indexºÎÅÍ end_index±îÁöÀÇ tagnameÀÇ ¼³Á¤ Á¦°Å

tag_delete(tagname)

ÅÂ±× »èÁ¦

tagnameÀÇ ¼³Á¤ ¹× ¼±¾ð »èÁ¦

tag_config(tagname, ¸Å°³º¯¼ö1, ¸Å°³º¯¼ö2, ¡¦)

ÅÂ±× ºÎÂø

tagname ¹üÀ§ ¸¸Å­ ¼Ó¼º ¼³Á¤



¡¼05¡½ Text Parameter
01)                ÅØ½ºÆ® ÅØ½ºÆ® ¼³Á¤

À̸§

ÀǹÌ

±âº»°ª

¼Ó¼º

wrap

ÀÚµ¿ ÁÙ ³»¸² ¼³Á¤ ¹æ¹ý

char

none, char, word

tabs

ÅØ½ºÆ®ÀÇ Tab °£°Ý

56

»ó¼ö

tabstyle

ÅØ½ºÆ®ÀÇ Tab °£°Ý Çü½Ä

tabular

tabular, wordprocessor

startline

ÅØ½ºÆ®ÀÇ µ¥ÀÌÅÍ ÀúÀå¼Ò¿¡ ÀúÀåµÉ ½ÃÀÛ ÁÙ

½ÃÀÛ ÁÙ

»ó¼ö

endline

ÅØ½ºÆ®ÀÇ µ¥ÀÌÅÍ ÀúÀå¼Ò¿¡ ÀúÀåµÉ ¸¶Áö¸· ÁÙ

¸¶Áö¸· ÁÙ

»ó¼ö

spacing1

ÅØ½ºÆ®ÀÇ »ó´Ü ¼öÁ÷ °£°Ý

0

»ó¼ö

spacing2

ÅØ½ºÆ®ÀÇ ÁÙ°ú ÁÙ »çÀÌ °£°Ý

0

»ó¼ö

spacing3

ÅØ½ºÆ®ÀÇ ÇÏ´Ü ¼öÁ÷ °£°Ý

0

»ó¼ö

 

02)                ÅØ½ºÆ® ÇüÅ ¼³Á¤

À̸§

ÀǹÌ

±âº»°ª

¼Ó¼º

width

ÅØ½ºÆ®ÀÇ ³Êºñ

80

»ó¼ö

height

ÅØ½ºÆ®ÀÇ ³ôÀÌ

24

»ó¼ö

relief

ÅØ½ºÆ®ÀÇ Å׵θ® ¸ð¾ç

flat

flat, groove, raised, ridge, solid, sunken

borderwidth=bd

ÅØ½ºÆ®ÀÇ Å׵θ® µÎ²²

1

»ó¼ö

background=bg

ÅØ½ºÆ®ÀÇ ¹è°æ »ö»ó

SystemButtonFace

color

foreground=fg

ÅØ½ºÆ®ÀÇ ¹®ÀÚ¿­ »ö»ó

SystemButtonFace

color

insertwidth

ÅØ½ºÆ®ÀÇ Å°º¸µå Ä¿¼­ ³Êºñ

2

»ó¼ö

insertborderwidth

ÅØ½ºÆ®ÀÇ Å°º¸µå Ä¿¼­ Å׵θ® µÎ²²

0

»ó¼ö

insertbackground

ÅØ½ºÆ®ÀÇ Å°º¸µå Ä¿¼­ »ö»ó

SystemWindowText

color

selectborderwidth

ÅØ½ºÆ®ÀÇ ¹®ÀÚ¿­ ºí·Ïó¸® Å׵θ® µÎ²²

0

»ó¼ö

selectbackground

ÅØ½ºÆ®ÀÇ ¹®ÀÚ¿­ ºí·Ïó¸® ¹è°æ »ö»ó

SystemHighlightText

color

selectforeground

ÅØ½ºÆ®ÀÇ ¹®ÀÚ¿­ ºí·Ïó¸® ¹®ÀÚ¿­ »ö»ó

SystemHighlightText

color

inactiveselectbackground

ÅØ½ºÆ®ÀÇ ¹®ÀÚ¿­ ºí·Ïó¸® Áß ´Ù¸¥ À§Á¬ ¼±Åýà ºí·Ïó¸® ¹è°æ »ö»ó

-

color

padx

ÅØ½ºÆ®ÀÇ Å׵θ®¿Í ³»¿ëÀÇ °¡·Î ¿©¹é

1

»ó¼ö

pady

ÅØ½ºÆ®ÀÇ Å׵θ®¿Í ³»¿ëÀÇ ¼¼·Î ¿©¹é

1

»ó¼ö

 

03)                ÅØ½ºÆ® Çü½Ä ¼³Á¤

À̸§

ÀǹÌ

±âº»°ª

¼Ó¼º

font

ÅØ½ºÆ®ÀÇ ¹®ÀÚ¿­ ±Û²Ã ¼³Á¤

TkDefaultFont

font

cursor

ÅØ½ºÆ®ÀÇ ¸¶¿ì½º Ä¿¼­ ¸ð¾ç

-

Ä¿¼­ ¼Ó¼º

xscrollcommand

ÅØ½ºÆ®ÀÇ °¡·Î½ºÅ©·Ñ °´Ã¼ Àû¿ë

-

ScrollbarÀ§Á¬.set

yscrollcommand

ÅØ½ºÆ®ÀÇ ¼¼·Î½ºÅ©·Ñ °´Ã¼ Àû¿ë

-

ScrollbarÀ§Á¬.set

exportselection

ÅØ½ºÆ®ÀÇ ¼±Åà Ç׸ñ ¿©ºÎ ¼³Á¤

True

Boolean

setgrid

ÅØ½ºÆ®ÀÇ °ÝÀÚ Å©±â Á¶Á¤ ¼³Á¤

False

Boolean

 

04)                ÅØ½ºÆ® »óÅ ¼³Á¤

À̸§

ÀǹÌ

±âº»°ª

¼Ó¼º

state

»óÅ ¼³Á¤

normal

normal, disabled

 

05)                ÅØ½ºÆ® ÇÏÀ̶óÀÌÆ® ¼³Á¤

À̸§

ÀǹÌ

±âº»°ª

¼Ó¼º

highlightcolor

ÅØ½ºÆ®°¡ ¼±ÅõǾúÀ» ¶§ »ö»ó

SystemWindowFrame

color

highlightbackground

ÅØ½ºÆ®°¡ ¼±ÅõÇÁö ¾Ê¾ÒÀ» ¶§ »ö»ó

SystemButtonFace

color

highlightthickness

ÅØ½ºÆ®°¡ ¼±ÅõǾúÀ» ¶§ µÎ²² (µÎ²² ¼³Á¤)

0

»ó¼ö

 

06)                ÅØ½ºÆ® µ¿ÀÛ ¼³Á¤

À̸§

ÀǹÌ

±âº»°ª

¼Ó¼º

takefocus

Tab ۸¦ ÀÌ¿ëÇÏ¿© À§Á¬ À̵¿ Çã¿ë ¿©ºÎ

False

Boolean

blockcursor

ÅØ½ºÆ®ÀÇ Å°º¸µå Ä¿¼­¸¦ ºí·ÏÀ¸·Î »ç¿ë

False

Boolean

undo

ÅØ½ºÆ®ÀÇ ½ÇÇà Ãë¼Ò »ç¿ë ¿©ºÎ

False

Boolean

maxundo

ÅØ½ºÆ®ÀÇ ½ÇÇà Ãë¼Ò ÃÖ´ë Ƚ¼ö

-

»ó¼ö

autoseparators

ÅØ½ºÆ®ÀÇ ½ÇÇà Ãë¼Ò ÀÚµ¿ ÀúÀå ¿©ºÎ

True

Boolean

 

07)                Âü°í

¤ý             wrap ¸Å°³º¯¼ö

ü  none : ÁÙ ³»¸² ÇÏÁö ¾ÊÀ½

ü  char : ±ÛÀÚ ´ÜÀ§·Î ÁÙ ³»¸²

ü  word : ´Ü¾î ´ÜÀ§·Î ÁÙ ³»¸²

¤ý             wordprocessor·Î »ç¿ëÇÒ °æ¿ì, ¿öµåÇÁ·Î¼¼¼­ ±âÁؠǥÁØ °£°ÝÀ¸·Î »ç¿ëÇÔ

¤ý             cursor ¸Å°³º¯¼ö

arrow, based_arrow_down, based_arrow_up, boat, bogosity, bottom_left_corner, bottom_right_corner, bottom_side, bottom_tee, box_spiral, center_ptr, circle, clock, coffee_mug, cross, cross_reverse, crosshair, diamond_cross, dot, dotbox, double_arrow, draft_large, draft_small, draped_box, exchange, fleur, gobbler, gumby, hand1, hand2, heart, icon, iron_cross, left_ptr, left_side, left_tee, leftbutton, ll_angle, lr_angle, man, middlebutton, mouse, pencil, pirate, plus, question_arrow, right_ptr, right_side, right_tee, rightbutton, rtl_logo, sailboat, sb_down_arrow, sb_h_double_arrow, sb_left_arrow, sb_right_arrow, sb_up_arrow, sb_v_double_arrow, shuttle, sizing, spider, spraycan, star, target, tcross, top_left_arrow, top_left_corner, top_right_corner, top_side, top_tee, trek, ul_angle, umbrella, ur_angle, watch, wait, xterm, X_cursor

¤ý             highlightbackground¸¦ ¼³Á¤ÇÏ¿´À» °æ¿ì, ÅØ½ºÆ®°¡ ¼±ÅõÇÁö ¾Ê¾ÒÀ» ¶§¿¡µµ µÎ²²°¡ Ç¥½ÃµÊ

¤ý             Ctrl + Z¸¦ »ç¿ëÇÏ¿© ½ÇÇà Ãë¼Ò, Ctrl + Y¸¦ »ç¿ëÇÏ¿© ´Ù½Ã ½ÇÇà

¤ý             autoseparators¸¦ True·Î ¼³Á¤ÇÏ¿´À» °æ¿ì´Ü ½Ã°£ ³»¿¡ ÀÔ·ÂµÈ ¹®ÀÚ¿­À» ½ÇÇà Ãë¼ÒÇÒ ¶§ ±â·ÏÀ» ¸Å¹ø ÀúÀåÇÏÁö ¾Ê¾Æ ¸ðµÎ Áö¿öÁü

 

 

#File Name: Notepad_03.py

import tkinter as tk

from tkinter import Menu

 

 

# Create instance of Window

mainWin=tk.Tk()

 

# Set title and size

mainWin.title("Á¦¸ñ ¾øÀ½ - Windows ¸Þ¸ðÀå")

mainWin.geometry("640x480")

 

#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")

menuFile.add_command(label="ț ̢(W)", accelerator="Ctrl+Shift+N")

menuFile.add_command(label="¿­±â(O)...", accelerator="Ctrl+O")

menuFile.add_command(label="ÀúÀå(S)", accelerator="Ctrl+S")

menuFile.add_command(label="´Ù¸¥ À̸§À¸·Î ÀúÀå(A)...", accelerator="Ctrl+Shift+S")

menuFile.add_separator()    

menuFile.add_command(label="ÆäÀÌÁö ¼³Á¤(U)...")                

menuFile.add_command(label="Àμâ(P)...", accelerator="Ctrl+P")       

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)

scrollBar.config(command=contentText.yview)

scrollBar.pack(side='right', fill='y')

 

# Start Window

mainWin.mainloop()