Tkinter를 사용하여 메모장 만들기

| | | | | | | | | | | | |

이 노트북을 만들려면 시스템에 Python 3 및 Tkinter가 이미 설치되어 있어야 합니다. 시스템 요구 사항에 따라 적절한 Python 패키지 를 다운로드할 수 있습니다. Python을 성공적으로 설치한 후에는 Tkinter(Python용 GUI 패키지)를 설치해야 합니다.

Tkinter를 설치하려면 다음 명령을 사용하십시오.

pip install python-tk 

Tkinter 가져오기:


< tbody>

<코드 클래스 ="키워드 "> 가져오기 <코드 클래스 ="일반 "> tkinter

< 코드 클래스 = "keyword"> 가져오기 os

from tkinter 가져오기 *


# 게시물에 대한 위의 장소를 얻으려면

from tkinter.messagebox import *


# 대화 상자 열기 필요에 따라

tkinter.filedialog 가져오기 *

참고. 메시지 상자는 메모장이라는 흰색 상자에 메시지를 작성하는 데 사용되며 대화 파일은 시스템의 어디에서나 파일을 열거나 특정 위치 또는 위치에 파일을 저장합니다.

메뉴 추가:

# 컨트롤 추가(위젯)


자체 .__ thisTextArea.grid (고정 = N + <코드 클래스 = "일반"> E <코드 클래스 = "키워드"> + <코드 클래스 = "일반"> S <코드 클래스 = "키워드" > + W)


# 새 파일 열기

self .__ thisFileMenu.add_command (label = <코드 클래스 = "문자열"> "새 항목" <코드 클래스 = "일반">,

<코드 클래스 = "일반"> 명령 <코드 클래스 = " 키워드"> = <코드 클래스 = "color1"> 자체 <코드 클래스 = "일반"> .__ newFile)


<코드 클래스 = "comments"> # 기존 파일 열기

self .__ thisFileMenu.add_command (label = " 열기 " ,

명령 = 자체 .__ openFile)


# 현재 파일 저장

self .__ thisFileMenu.add_command (label = "저장" <코드 클래스 = "일반">,

명령 = 자체 .__ saveFile)


# 대화 상자에 줄 만들기

self .__ thisFileMenu.add_separator ()


# 중지하려면

자기 .__ thisFileMenu.add_command (label = 코드 클래스 = "문자열"> "종료" <코드 클래스 = "일반">,

<코드 클래스 = "일반"> 명령 <코드 클래스 = "keyword"> = self .__ quitApplication)

자체 <코드 클래스 = "일반"> .__ thisMenuBar.add_cascade ( 레이블 <코드 클래스 = "keyword"> = <코드 클래스 = "문자열"> " 파일" <코드 클래스 = "일반">,

메뉴 <코드 클래스 = "키워드"> = <코드 클래스 = "color1"> 자체 <코드 클래스 = "일반"> .__ thisFileMenu)


# 획을 추가하려면

자체 .__ thisEditMenu.add_command(라벨 = "잘라내기" ,

명령 = self .__ cut)


# 복사 기능을 제공하려면

self .__ thisEditMenu.add_command (label <코드 클래스 = "키워드"> = <코드 클래스 = "문자열"> "복사" <코드 클래스 = "일반">,

<코드 클래스 = "정의되지 않은 공백"> <코드 클래스 = "일반"> 명령 = 자기 .__ copy )


# 삽입 기능을 추가하려면

자체 .__ thisEditMenu.add_command (라벨 = "붙여넣기" ,

명령 = 자기 .__ 붙여넣기)


# 편집을 활성화하려면

자기 .__ thisMenuBar.add_cascade (라벨 = " 편집 " ,

메뉴 = 자기 .__ thisEditMenu)


# 메모장 설명 기능을 생성하려면

self .__ thisHelpMenu.add_command (label = " 메모장 정보 " ,

명령 = 자체 .__ showAbout )

self .__ thisMenuBar.add_cascade (label = <코드 클래스 = "문자열"> "도움말" <코드 클래스 = "일반">,

<코드 클래스 = "일반"> 메뉴 = 자기 .__ thisHelpMenu)

< br>

본인 .__ root.config (메뉴 = 자체 .__ thisMenuBar)


자체 .__ thisScrollBar.pack(측면 = 오른쪽, 채우기 = <코드 클래스 = " plain"> Y)


# 스크롤 막대가 자동으로 조정됩니다.
# 내용에 따라

자체 .__ thisScrollBar.config (명령 = 자기 .__ thisTextArea .yview)

< 코드 클래스 = "color1"> 자체 <코드 클래스 = "일반"> .__ thisTextArea.config (yscrollcommand <코드 클래스 = " 키워드 "> = <코드 클래스 ="color1 "> 선택 f .__ thisScrollBar. set )

이 코드를 사용하여 메모장 창에 메뉴를 추가하고 복사, 붙여넣기, 저장 등과 같은 항목을 추가합니다.

기능 추가:

def __ quitApplication ( 자체 ):

자체 <코드 클래스 = "plain"> .__ root.destroy ()

# exit ()


def __ showAbout ( 자기 ):

showinfo( "메모장" , "Mrinal Verma" )

< br>

def __ openFile ( 자기 ):


자체 .__ 파일 = Askopenfilename (defaultextension = ". txt" <코드 클래스 = "일반">,

<코드 클래스 = "일반"> 파일 유형 <코드 클래스 = "키워드"> = <코드 클래스 = "일반"> [( <코드 클래스 = "문자열"> "모든 파일" <코드 클래스 ="일반 ">, <코드 클래스 =" 문자열 ">" *. * " <코드 클래스 ="일반 ">),

<코드 클래스 = "일반"> ( <코드 클래스 = "문자열"> "텍스트 문서" <코드 클래스 = "일반">, <코드 클래스 = "문자열"> "*. txt" )])

if 자체 <코드 클래스 = "일반"> .__ 파일 <코드 클래스 = "키워드"> = <코드 클래스 = "키워드"> = "":


# 열 파일이 없습니다.

자체 .__ 파일 = 없음

else :

# 파일 열기 시도

# 창 제목 설정

자체 .__ root.title(os.path. 기본 이름 ( 자체 .__ 파일) + <코드 class = "string"> " - 메모장 없음 " )

자기 .__ thisTextArea.delete ( 1.0 , END)


파일 = 열기 ( 자체 .__ 파일, "r" <코드 클래스 = "일반">)


<코드 클래스 = "color1"> 자체 < 코드 클래스 = "일반"> .__ thisTextArea.insert ( <코드 클래스 = "값"> 1.0 <코드 클래스 = "일반">, <코드 클래스 = "함수" > 파일 <코드 클래스 = "일반">. 읽기 ())


파일 . 닫기()

def __ newFile ( 자체 ):

자기 .__ root.title ( " 제목 없음 - 메모장 " )

자체 .__ 파일 < 코드 클래스 = "keyword"> = <코드 클래스 = "color1"> 없음

<코드 클래스 = "color1"> 자체 <코드 클래스 = " 일반"> .__ thisTextArea.delete ( 1.0 , END)


def __ saveFile ( 자체 ):


if 자기 .__ 파일 = = 없음 :

# 새 파일로 저장

자체 .__ 파일 = Asksaveasfilename (초기 파일 = ’ Untitled.txt’ ,

defaultextension = ". txt" <코드 클래스 = "일반">,

<코드 클래스 = "일반"> 파일 유형 <코드 클래스 = "키워드"> = <코드 클래스 = "일반"> [( <코드 클래스 = "문자열"> "모든 파일" <코드 클래스 = "일반">, <코드 클래스 = "문자열"> "*. *" <코드 클래스 = "일반">),

<코드 클래스 = "일반"> ( <코드 클래스 = "문자열"> "텍스트 문서" <코드 클래스 = "일반">, <코드 클래스 = "문자열"> "*. txt" )])


if self .__ 파일 = = <코드 클래스 = "일반"> "":

<코드 클래스 = "color1"> 자체 <코드 클래스 = "일반"> .__ 파일 = 없음

else <코드 클래스 = "일반">:

<코드 class = "comments"> # 파일 저장 시도

파일 = < 코드 클래스 = "functions" > 열기 ( 자체 .__ 파일, <코드 클래스 = "문자열"> "w" <코드 클래스 = "일반">)

<코드 클래스 = " 기능 "> f 파일 <코드 클래스 ="일반 ">. 쓰기 ( 자기 .__ thisTextArea.get ( 1.0 , END))

파일 . 닫기 ()

# 창 제목 변경

자체 .__ root.title(os.path.basename ( self .__ 파일) < 코드 클래스 = "키워드"> + <코드 클래스 = "문자열"> "- 메모장" <코드 클래스 = "일반">)



else :

파일 = 열기 ( <코드 클래스 = "color1"> 자체 <코드 클래스 = "일반">.__파일, <코드 클래스 = "문자열"> "w" <코드 클래스 = " 일반">)

파일 . 쓰기 ( 자기 .__ thisTextArea.get ( 1.0 , END))

파일 . 닫기 ()


def __ cut ( 자체 ):

자기 .__ thisTextArea.event_generate ( """잘라내기""" )


def __ 복사( 자기 ):

자기 .__ thisTextArea.event_generate ( """복사""" <코드 클래스 = "일반 ">)


def __ paste ( 자기 ):

자기 .__ thisTextArea.event_generate( <코드 클래스 = "문자열"> """붙여넣기""" <코드 클래스 = "일반">)

이것은 메모장에 필요한 모든 기능을 추가했으며 글꼴 크기, 글꼴 색상, 굵게, 밑줄 등과 같은 다른 기능을 추가할 수도 있습니다.

메인 코드 뒤에 모두 결합:


가져오기 tkinter

가져오기 os

에서 <코드 클래스 = "일반" > tkinter <코드 클래스 = "키워드"> 가져오기 <코드 클래스 = "키워드"> *

<코드 클래스 = "keyword"> tkinter.messagebox 가져오기 *

tkinter.filedialog 가져오기 *


<코드 클래스 = "키워드"> 클래스 메모장:

__ root = Tk ()


# 기본 창 너비와 높이

< 코드 클래스 ="정의되지 않은 공백 "> <코드 클래스 = "일반"> __ thisWidth <코드 클래스 = "키워드"> = <코드 클래스 = "값"> 300

<코드 클래스 ="일반 "> __ thisHeight <코드 클래스 ="keyword "> = <코드 클래스 ="값 "> 300

__ thisTextArea = 텍스트(__root)

__ thisMenuBar = 메뉴(__ 루트)

<코드 클래스 = "일반"> __ thisFileMenu <코드 클래스 = "키워드" > = 메뉴(__ thisMenuBar, 분리 = 0 )

__ thisEditMenu <코드 클래스 = "keyword"> = 메뉴(__ thisMenuBar, 분리 = 0 )

__ thisHelpMenu = 메뉴(__ thisMenuBar, 분리 = 0 <코드 클래스 = "일반">)


# 스크롤바 추가

__ thisScrollBar = 스크롤바(__ thisTextArea)

__ 파일 = 없음


def __ init __ ( 자기 < /코드> <코드 클래스 = "일반">, <코드 클래스 = "키워드"> * <코드 클래스 = "키워드"> * <코드 클래스 = "일반"> kwargs ):


# 아이콘 설정

시도 :

자기 .__ 루트 .wm_iconbitmap( <코드 클래스 = "문자열"> "Notepad.ico" <코드 클래스 = "일반">)

제외 :

pass


# 창 크기 설정(기본값 300x300)


시도 :

자체 <코드 클래스 = "일반"> .__ thisWidth <코드 클래스 = "키워드"> = <코드 클래스 = " 일반 "> kwargs [ ’ 너비’ ]

제외 KeyError:

통과

< br>

시도 :

<코드 클래스 = "color1"> 자체 <코드 클래스 = "일반"> .__ thisHeight <코드 클래스 = "키워드"> = <코드 클래스 = "일반" > kwargs [ ’높이’ ]

제외 KeyError:

pass


# 창 텍스트 설정

자기 .__ root.title ( "제목 없음 - 메모장" )


# 창 중앙에 맞추기

screenWidth = 자체 .__ 루트. winfo_screenwidth ()

screenHeight = 자기 .__ root .winfo_screenheight ()


# 왼쪽

왼쪽 = (화면 너비 <코드 클래스 = "키워드"> / <코드 클래스 = "값"> 2 <코드 클래스 = "일반">) <코드 클래스 = "키워드"> - <코드 클래스 = "일반"> ( <코드 클래스 = "color1" > 자체 <코드 클래스 = "일반"> .__ thisWidth <코드 클래스 = "키워드"> / <코드 클래스 = "값"> 2 <코드 클래스 = "plain">)


# 오른쪽으로

상단 = (screenHeight <코드 클래스 = "키워드"> / <코드 클래스 = "값"> 2 <코드 클래스 = "일반">) <코드 클래스 = "키워드"> - < 코드 클래스 = "일반"> ( <코드 클래스 = "color1"> 자체 <코드 클래스 = "일반">. __thisHeight <코드 클래스 = "키워드"> / <코드 클래스 = "값"> 2 <코드 클래스 = "일반">)

# 상단 및 하단용

자체 .__ root.geometry ( ’% dx% d +% d +% d’ % ( 자기 .__ thisWidth,

< 코드 클래스 = "color1"> 자체 <코드 클래스 = "일반"> .__ thisHeight,

왼쪽, 상단))

# 텍스트 영역의 크기를 자동으로 조정하려면

/ code> 통과


# 창 텍스트 설정

self .__ root.title ( "제목 없음 - 메모장" )


# 중앙 창

screenWidth = 자기 .__ root.winfo_screenwidth ()

screenHeight <코드 클래스 = "키워드"> = <코드 클래스 = "color1"> 자체 <코드 클래스 = "일반" > .__ root.winfo_screenheight ()


# 왼쪽

왼쪽 = (screenWidth <코드 클래스 = "키워드"> / <코드 클래스 = "값"> 2 <코드 클래스 = "일반">) <코드 클래스

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method