Faça o bloco de notas usando o Tkinter

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

Python 3 e Tkinter já devem estar instalados em seu sistema para criar este notebook. Você pode baixar o pacote Python apropriado de acordo com os requisitos do seu sistema. Depois de instalar o Python com sucesso, você precisa instalar o Tkinter (um pacote de GUI para Python).

Use este comando para instalar o Tkinter:

pip install python-tk 

Importações Tkinter:


< tbody>

importar tkinter

import os

from tkinter importar *


# Para obter um lugar acima para uma postagem

de tkinter.messagebox import *


# Para abrir a caixa de diálogo usada conforme necessário

de tkinter.filedialog importar *

Observação. Caixa de Mensagem é usada para escrever uma mensagem em uma caixa branca chamada Bloco de Notas, e Arquivo de Diálogo é usado para exibir / em> caixa de diálogo quando você abra um arquivo de qualquer lugar em seu sistema ou salve um arquivo em uma posição ou local específico.

Adicione um menu:

# Adicionar controles (widget)


self .__ thisTextArea.grid (adesivo = N + E + S + W)


# Abra um novo arquivo

self .__ thisFileMenu.add_command (label = "Novo" ,

comando = self .__ newFile)


# Para abrir um arquivo existente

self .__ thisFileMenu.add_command (label = " Abrir " ,

comando = self .__ openFile)


# Salva o arquivo atual

self .__ thisFileMenu.add_command (label = "Salvar" ,

comando = self .__ saveFile)


# Cria uma linha na caixa de diálogo

self .__ thisFileMenu.add_separator ()


# Para parar

self .__ thisFileMenu.add_command (label = "Sair" ,

comando = self .__ quitApplication)

self .__ thisMenuBar.add_cascade ( label = " Arquivo" ,

menu = self .__ thisFileMenu)


# Para adicionar um traço

self .__ thisEditMenu.add_command (label = "Cut" ,

comando = self .__ cut)


# Para dar uma função de cópia

self .__ thisEditMenu.add_command (label = "Copiar" ,

comando = self .__ copy )


# Para adicionar uma função de inserção

self .__ thisEditMenu.add_command (label = "Colar" ,

comando = self .__ paste)


# Para habilitar a edição

self .__ thisMenuBar.add_cascade (label = " Editar " ,

menu = self .__ thisEditMenu)


# Para criar uma função de descrição do bloco de notas

self .__ thisHelpMenu.add_command (label = " Sobre o Bloco de Notas " ,

comando = self .__ showAbout )

self .__ thisMenuBar.add_cascade (label = "Ajuda" ,

menu = self .__ thisHelpMenu)

< br>

self .__ root.config (menu = self .__ thisMenuBar)


self .__ thisScrollBar.pack (lado = DIREITO, preenchimento = Y)


# A barra de rolagem será ajustada automaticamente
# de acordo com o conteúdo

self .__ thisScrollBar.config (command = self .__ thisTextArea .yview)

self .__ thisTextArea.config (yscrollcommand = sel f .__ thisScrollBar. set )

Com este código, adicionaremos menus às janelas do nosso bloco de notas e adicionaremos coisas como copiar, colar, salvar etc.

Adicionar funcionalidade:

def __ quitApplication ( self ):

self .__ root.destroy ()

# exit ()


def __ showAbout ( self ):

showinfo ( "Notepad" , "Mrinal Verma" )

< br>

def __ openFile ( self ):


self .__ arquivo = askopenfilename (defaultextension = ". txt" ,

tipos de arquivo = [( "Todos os arquivos " , " *. * " ),

( "Documentos de texto" , "*. txt" )])

if self .__ arquivo = = "":


# nenhum arquivo para abrir

self .__ arquivo = Nenhum

else :

# tente abrir o arquivo

# defina o título da janela

self .__ root.title (os.path. basename ( self .__ arquivo) + " - Sem tepad " )

self .__ thisTextArea.delete ( 1.0 , END)


arquivo = abrir ( self arquivo .__, "r" )


self .__ thisTextArea.insert ( 1.0 , arquivo . leia ())


arquivo . close ()

def __ newFile ( self ):

self .__ root.title ( " Sem título - Bloco de notas " )

self .__ arquivo = Nenhum

self .__ thisTextArea.delete ( 1.0 , END)


def __ saveFile ( self ):


se self .__ arquivo = = Nenhum :

# salva como novo arquivo

self .__ arquivo = askaveasfilename (initialfile = ’ Untitled.txt’ ,

defaultextension = ". txt" ,

tipos de arquivo = [( "Todos os arquivos" , "*. *" ),

( "Documentos de texto" , "*. txt" )])


if self .__ arquivo = = "":

self .__ arquivo = Nenhum

else :

# tenta salvar o arquivo

arquivo = abrir ( self arquivo .__, "w" )

f arquivo . escreva ( self .__ thisTextArea.get ( 1.0 , END))

arquivo . close ()

# altera o título da janela

self .__ root.title (os.path.basename ( self .__ arquivo) + "- Bloco de notas" )



else :

arquivo = abrir ( self .__file, "w" )

arquivo . escreva ( self .__ thisTextArea.get ( 1.0 , END))

arquivo . close ()


def __ cut ( self ):

self .__ thisTextArea.event_generate ( """Cortar""" )


def __ copy ( self ):

self .__ thisTextArea.event_generate ( """Copiar""" )


def __ paste ( self ):

self .__ thisTextArea.event_generate ( ""< Colar""" )

Isso adicionamos todos os recursos necessários no bloco de notas, você também pode adicionar outros recursos, como tamanho da fonte, cor da fonte, negrito, sublinhado etc.

Código principal após combinando todos:


import tkinter

import os

from tkinter importar *

de tkinter.messagebox importar *

from tkinter.filedialog import *


classe Bloco de notas:

__ root = Tk()


# largura e altura padrão da janela

__ thisWidth = 300

__ thisHeight = 300

__ thisTextArea = Texto (__root)

__ thisMenuBar = Menu (__ root)

__ thisFileMenu = Menu (__ thisMenuBar, tearoff = 0 )

__ thisEditMenu = Menu (__ thisMenuBar, tearoff = 0 )

__ thisHelpMenu = Menu (__ thisMenuBar, tearoff = 0 )


# Adicionar barra de rolagem

__ thisScrollBar = Barra de rolagem (__ thisTextArea)

__ arquivo = Nenhum


def __ init __ ( self , * * kwargs ):


# Definir ícone

tentar :

self .__ root .wm_iconbitmap ( "Notepad.ico" )

exceto :

pass


# Definir tamanho da janela (padrão 300x300)


tente :

self .__ thisWidth = kwargs [ ’ largura’ ]

exceto KeyError:

pass

< br>

tente :

self .__ thisHeight = kwargs [ ’altura’ ]

exceto KeyError:

pass


# Definir o texto da janela

self .__ root.title ( "Sem título - Bloco de notas" )


# Centralizar a janela

screenWidth = self .__ root. winfo_screenwidth ()

screenHeight = self .__ root .winfo_screenheight()


# Para a esquerda

esquerda = (screenWidth / 2 ) - ( self .__ thisWidth / 2 )


# Right-ally

top = (screenHeight / 2 ) - ( self . __thisHeight / 2 )

# Para cima e para baixo

self .__ root.geometry ( ’% dx% d +% d +% d’ % ( self .__ thisWidth,

self .__ thisHeight,

left, top))

# Para fazer a área de texto redimensionar automaticamente

/ code> passe


# Definir o texto da janela

self .__ root.title ( "Sem título - Bloco de notas" )


# Janela central

screenWidth = self .__ root.winfo_screenwidth ()

screenHeight = self .__ root.winfo_screenheight()


# Para a esquerda

left = (screenWidth / 2 ) Faça o bloco de notas usando o Tkinter __del__: Questions

Faça o bloco de notas usando o Tkinter __delete__: Questions

Shop

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

$

Best laptop for Zoom

$499

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