Erstellen Sie Notepad mit Tkinter

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

Python 3 und Tkinter müssen bereits auf Ihrem System installiert sein, um dieses Notebook zu erstellen. Sie können das passende Python-Paket entsprechend Ihren Systemanforderungen herunterladen. Nachdem Sie Python erfolgreich installiert haben, müssen Sie Tkinter (ein GUI-Paket für Python) installieren.

Verwenden Sie diesen Befehl, um Tkinter zu installieren:

pip install python-tk 

Tkinter importiert:


< tbody>

import tkinter

import os

from tkinter import *


# Um einen Platz oben für einen Beitrag zu bekommen

von tkinter.messagebox import *


# Zum Öffnen des verwendeten Dialogs nach Bedarf

aus tkinter.filedialog import *

Hinweis. Nachrichtenfeld wird verwendet, um eine Nachricht in ein weißes Feld namens Notepad zu schreiben, und Dialogdatei wird verwendet, um ein Dialogfeld zu zeigen / em>, wenn Sie es verwenden Öffnen Sie eine Datei von überall auf Ihrem System oder speichern Sie eine Datei an einer bestimmten Position oder an einem bestimmten Ort.

Fügen Sie ein Menü hinzu:

# Steuerelemente hinzufügen (Widget)


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


# Neue Datei öffnen

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

Befehl = self .__ newFile)


# Um eine vorhandene Datei zu öffnen

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

command = self .__ openFile)


# Aktuelle Datei speichern

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

command = self .__ saveFile)


# Erstellen Sie eine Zeile im Dialog

self .__ thisFileMenu.add_separator ()


# Zum Stoppen

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

Befehl = self .__ quitApplication)

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

menu = self .__ thisFileMenu)


# So fügen Sie einen Strich hinzu

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

command = self .__ cut)


# Um eine Kopierfunktion zu geben

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

Befehl = self .__ copy )


# Um eine Einfügefunktion hinzuzufügen

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

command = self .__ paste)


# Zum Aktivieren der Bearbeitung von

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

Menü = self .__ thisEditMenu)


# So erstellen Sie eine Notizblock-Beschreibungsfunktion

self .__ thisHelpMenu.add_command (label = " Über Notepad " ,

Befehl = self .__ showAbout )

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

menu = self .__ thisHelpMenu)

< br>

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


self .__ thisScrollBar.pack (Seite = RECHTS, füllen = Y)


# Der Scrollbalken wird automatisch angepasst
# entsprechend dem Inhalt

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

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

Mit diesem Code werden wir Menüs zu unseren Notepad-Fenstern hinzufügen und Dinge wie Kopieren, Einfügen, Speichern usw. hinzufügen.

Funktionalität hinzufügen:

def __ quitApplication ( self ):

self .__ root.destroy ()

# exit ()


def __ showAbout ( self ):

showinfo ( "Notepad" , "Mrinal Verma" )

< br>

def __ openFile ( self ):


self .__ file = askopenfilename (Standarderweiterung = ". txt" ,

Dateitypen = [( "All Files" , " *. * " ),

( "Textdokumente" , "*. txt" )])

if self .__ file = = "":


# keine Datei zum Öffnen

self .__ file = Keine

sonst :

# versuche die Datei zu öffnen

# setze den Fenstertitel

self .__ root.title (os.path. Basisname ( self .__ file) + " - No tepad " )

self .__ thisTextArea.delete ( 1.0 , ENDE)


file = öffne ( self .__ file, "r" )


self .__ thisTextArea.insert ( 1.0 , Datei . read ())


file . close ()

def __ newFile ( self ):

self .__ root.title ( " Untitled - Notepad " )

self .__ file = None

self .__ thisTextArea.delete ( 1.0 , END)


def __ saveFile ( self ):


if self .__-Datei = = None :

# als neue Datei speichern

self .__ file = asksaveasfilename (initialfile = ’Untitled.txt’ ,

defaultextension = ". txt" ,

Dateitypen = [( "Alle Dateien" , "*. *" ),

( "Textdokumente" , "*. txt" )])


if self .__ file = = "":

self .__ file = None

else :

# versuche die Datei zu speichern

file = open ( self .__ file, "w" )

f Datei . write ( self .__ thisTextArea.get ( 1.0 , END))

file . close ()

# den Titel des Fensters ändern

self .__ root.title (os.path.basename ( self .__ file) + "- Notepad" )



else :

file = open ( self .__file, "w" )

file . write ( self .__ thisTextArea.get ( 1.0 , END))

file . close ()


def __ cut ( self ):

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


def __ copy ( self ):

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


def __ paste ( self ):

self .__ thisTextArea.event_generate ( ""< Einfügen""" )

Damit haben wir alle Funktionen hinzugefügt, die in Notepad erforderlich sind. Sie können auch andere Funktionen wie Schriftgröße, Schriftfarbe, Fettschrift, Unterstreichung usw. hinzufügen.

Hauptcode danach alles kombinieren:


import tkinter

import os

from tkinter import *

aus tkinter.messagebox import *

aus tkinter.filedialog import *


Klasse Notepad:

__ root = Tk ()


# Standardfensterbreite und -höhe

< Codeklasse ="undefinierte Leerzeichen"> __ thisWidth = 300

__ thisHeight = 300

__ thisTextArea = Text (__root)

__ thisMenuBar = Menü (__ root)

__ thisFileMenu = Menü (__ thisMenuBar, tearoff = 0 )

__ thisEditMenu = Menü (__ thisMenuBar, tearoff = 0 )

__ thisHelpMenu = Menü (__ thisMenuBar, tearoff = 0 )


# Bildlaufleiste hinzufügen

__ thisScrollBar = Bildlaufleiste (__ thisTextArea)

__ file = None


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


# Symbol setzen

versuchen :

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

außer :

pass


# Fenstergröße festlegen (Standard 300x300)


try :

self .__ thisWidth = kwargs [ ’ width’ ]

außer KeyError:

pass

< br>

versuchen :

self .__ thisHeight = kwargs [ ’height’ ]

außer KeyError:

pass


# Fenstertext setzen

self .__ root.title ( "Untitled - Notepad" )


# Fenster zentrieren

screenWidth = self .__ root. winfo_screenwidth ()

screenHeight = self .__ root .winfo_screenheight ()


# Für links

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


# Rechts

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

# Für oben und unten

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

self .__ thisHeight,

left, top))

# Damit der Textbereich automatisch in der Größe angepasst wird

/ code> pass


# Fenstertext setzen

self .__ root.title ( "Untitled - Notepad" )


# Fenster zentrieren

screenWidth = self .__ root.winfo_screenwidth ()

screenHeight = self .__ root.winfo_screenheight ()


# Für den linken

left = (screenWidth / 2 ) Erstellen Sie Notepad mit Tkinter __del__: Questions

Erstellen Sie Notepad mit 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