Maak Kladblok met Tkinter

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

Python 3 en Tkinter moeten al op uw systeem zijn geïnstalleerd om deze notebook te maken. U kunt het juiste Python-pakket downloaden volgens uw systeemvereisten. Nadat je Python succesvol hebt geïnstalleerd, moet je Tkinter (een GUI-pakket voor Python) installeren.

Gebruik deze opdracht om Tkinter te installeren:

pip install python-tk 

Tkinter importeert:


< tbody>

import tkinter

import os

van tkinter import *


# Om een plaats hierboven te krijgen voor een bericht

van tkinter.messagebox import *


# Om het gebruikte dialoogvenster te openen indien nodig

van tkinter.filedialog import *

Opmerking. Berichtenvenster wordt gebruikt om een bericht te schrijven in een wit vak met de naam Kladblok, en Dialoogvenster wordt gebruikt om het dialoogvenster weer te geven / em> wanneer u open een bestand vanaf elke plek op uw systeem of sla een bestand op een specifieke positie of locatie op.

Voeg een menu toe:

# Besturingselementen toevoegen (widget)


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


# Open nieuw bestand

zelf .__ thisFileMenu.add_command (label = "Nieuw" ,

commando = zelf .__ newFile)


# Om een bestaand bestand te openen

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

commando = zelf .__ openFile)


# Bewaar huidig bestand

zelf .__ thisFileMenu.add_command (label = "Opslaan" ,

commando = zelf .__ saveFile)


# Maak een regel in het dialoogvenster

zelf .__ thisFileMenu.add_separator ()


# Om te stoppen

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

commando = zelf .__ quitApplication)

zelf .__ thisMenuBar.add_cascade ( label = " Bestand" ,

menu = zelf .__ thisFileMenu)


# Om een streek toe te voegen

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

commando = zelf .__ cut)


# Om een kopieerfunctie te geven

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

commando = zelf .__ kopie)


# Om een invoegfunctie toe te voegen

zelf .__ thisEditMenu.add_command (label = "Plakken" ,

commando = zelf .__ plakken)


# Bewerken inschakelen

zelf .__ thisMenuBar.add_cascade (label = " Bewerken " ,

menu = zelf .__ thisEditMenu)


# Een functie voor de beschrijving van een notitieblok maken

zelf .__ thisHelpMenu.add_command (label = " Over Kladblok " ,

commando = zelf .__ showAbout )

zelf .__ thisMenuBar.add_cascade (label = "Help" ,

menu = zelf .__ thisHelpMenu)

< br>

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


zelf .__ thisScrollBar.pack (zij = RECHTS, vul = Y)


# De schuifbalk wordt automatisch aangepast
# volgens de inhoud

zelf .__ thisScrollBar.config (opdracht = zelf .__ thisTextArea .yview)

zelf .__ thisTextArea.config (yscrollcommand = zelf f .__ dezeScrollBar. set )

Met deze code voegen we menu’s toe aan onze kladblokvensters en voegen we dingen toe zoals kopiëren, plakken, opslaan, enz.

Voeg functionaliteit toe:

def __ quitApplication ( zelf ):

zelf .__ root.destroy ()

# exit ()


def __ showAbout ( self ):

showinfo ( "Kladblok" , "Mrinal Verma" )

< br>

def __ openFile ( self ):


zelf .__ bestand = askopenfilename (standaardtekst = ". txt" ,

bestandstypen = [( "Alle bestanden" , " *. * " ),

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

if zelf .__ bestand = = "":


# geen bestand om te openen

zelf .__ bestand = Geen

else :

# probeer het bestand te openen

# stel de venstertitel in

zelf .__ root.title (os.path. basisnaam ( zelf .__ bestand) + " - Geen teken " )

zelf .__ thisTextArea.delete ( 1.0 , END)


bestand = open ( zelf .__ bestand, "r" )


zelf .__ thisTextArea.insert ( 1.0 , bestand . read ())


bestand . close ()

def __ newFile ( zelf ):

zelf .__ root.title ( " Zonder titel - Kladblok " )

zelf .__ bestand = Geen

zelf .__ thisTextArea.delete ( 1.0 , END)


def __ saveFile ( zelf ):


if zelf .__ bestand = = Geen :

# opslaan als nieuw bestand

zelf .__ bestand = askaveasfilename (initialfile = ’ Untitled.txt’ ,

standaardextensie = ". txt" ,

bestandstypen = [( "Alle bestanden" , "*. *" ),

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


if zelf .__ bestand = = "":

zelf .__ bestand = Geen

else :

# probeer het bestand op te slaan

bestand = open ( zelf .__ bestand, "w" )

f ile . schrijven ( zelf .__ thisTextArea.get ( 1.0 , END))

bestand . close ()

# verander de titel van het venster

zelf .__ root.title (os.path.basename ( zelf .__ bestand) + "- Kladblok" )



else :

bestand = open ( zelf .__file, "w" )

bestand . schrijven ( zelf .__ thisTextArea.get ( 1.0 , END))

bestand . close ()


def __ cut ( zelf ):

zelf .__ thisTextArea.event_generate ( """Knippen""" )


def __ copy ( zelf ):

zelf .__ thisTextArea.event_generate ( """Copy""" )


def __ plakken ( zelf ):

zelf .__ thisTextArea.event_generate ( """Plakken""" )

Hiermee hebben we alle functies toegevoegd die nodig zijn in Kladblok, je kunt ook andere functies toevoegen, zoals lettergrootte, letterkleur, vet, onderstrepen, enz.

Hoofdcode na alles combineren:


import tkinter

import os

van tkinter import *

van tkinter.messagebox import *

van tkinter.filedialog importeren *


class Kladblok:

__ root = Tk ()


# standaard vensterbreedte en -hoogte

__ thisWidth = 300

__ thisHeight = 300

__ thisTextArea = Tekst (__root)

__ thisMenuBar = Menu (__ root)

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

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

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


# Schuifbalk toevoegen

__ thisScrollBar = Schuifbalk (__ thisTextArea)

__ bestand = Geen


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


# Set icon

probeer :

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

behalve :

pass


# Venstergrootte instellen (standaard 300x300)


probeer :

zelf .__ thisWidth = kwargs [ ’ width’ ]

behalve KeyError:

pass

< br>

probeer :

zelf .__ thisHeight = kwargs [ ’hoogte’ ]

behalve KeyError:

pass


# Venstertekst instellen

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


# Centreer het venster

screenWidth = zelf .__ root. winfo_screenwidth ()

screenHeight = zelf .__ root .winfo_screenheight ()


# Voor de linker

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


# Juiste bondgenoot

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

# Voor boven en onder

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

zelf .__ thisHeight,

left, top))

# Om het tekstgebied automatisch te verkleinen

/ code> pas


# Venstertekst instellen

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


# Middenvenster

screenWidth = zelf .__ root.winfo_screenwidth ()

screenHeight = zelf .__ root.winfo_screenheight ()


# Voor de linker

left = (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