Tkinter kullanarak Not Defteri yapın

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

Bu not defterini oluşturmak için sisteminizde Python 3 ve Tkinter kurulu olmalıdır. Sistem gereksinimlerinize göre uygun Python paketini indirebilirsiniz. Python`u başarıyla yükledikten sonra, Tkinter`ı (Python için bir GUI paketi) yüklemeniz gerekir.

Tkinter`ı yüklemek için bu komutu kullanın:

pip install python-tk 

Tkinter ithalatları:


< tbody>

import tkinter

< kod sınıfı = "anahtar kelime"> içe aktar işletim sistemi

`dan tkinter içe aktar *



# Bir gönderi için yukarıda yer almak için

tkinter.messagebox import *


# Kullanılan diyaloğu açmak için gerektiği gibi

`dan tkinter.filedialog import *

Not. Mesaj Kutusu, Not Defteri adlı beyaz bir kutuya mesaj yazmak için kullanılır ve İletişim Dosyası, istediğiniz zaman / em> iletişim kutusunu görüntülemek için kullanılır. sisteminizin herhangi bir yerinden bir dosya açın veya bir dosyayı belirli bir konuma veya konuma kaydedin.

Bir menü ekleyin:

p>

# Kontrol ekle (widget)


kendi kendine .__ thisTextArea.grid (yapışkan = N + E + S + W)



# Yeni dosya aç

self .__ thisFileMenu.add_command (etiket = "Yeni" ,

komut = öz .__ yeniDosya)


# Mevcut bir dosyayı açmak için

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

komut = self .__ openFile)


# Geçerli dosyayı kaydet

self .__ thisFileMenu.add_command (etiket = "Kaydet" ,

komut = self .__ saveFile)


# İletişim kutusunda bir satır oluşturun

self .__ thisFileMenu.add_separator ()


# Durdurmak için

self .__ thisFileMenu.add_command (etiket = < kod sınıfı = "dize"> "Çıkış" ,

komut = self .__ QuitApplication)

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

menü = self .__ thisFileMenu)


# Kontur eklemek için

self .__ thisEditMenu.add_command (etiket = "Kes" ,

komut = self .__ cut)


# Bir kopyalama işlevi vermek için

self .__ thisEditMenu.add_command (etiket = "Kopyala" ,

komut = self .__ kopya )


# Ekleme işlevi eklemek için

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

komut = self .__ yapıştır)


# Düzenlemeyi etkinleştirmek için

self .__ thisMenuBar.add_cascade (etiket = " Düzenle " ,

menüsü = self .__ thisEditMenu)


# Bir not defteri açıklama işlevi oluşturmak için

self .__ thisHelpMenu.add_command (etiket = " Not Defteri Hakkında " ,

komut = self .__ showAbout )

self .__ thisMenuBar.add_cascade (etiket = "Yardım" ,

menü = self .__ thisHelpMenu)

< br>

öz .__ root.config (menü = self .__ thisMenuBar)


self .__ thisScrollBar.pack (yan = DOĞRU, doldurun = Y)


# Kaydırma çubuğu otomatik olarak ayarlanır
# içeriğe göre

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

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

Bu kod ile not defteri pencerelerimize menüler ekleyeceğiz ve kopyala, yapıştır, kaydet vb. şeyler ekleyeceğiz.

İşlevsellik ekle:

def __ QuitApplication ( self ):

self .__ root.destroy ()

# çıkış ()


def __ showAbout ( self ):

showinfo ( "Not Defteri" , "Mrinal Verma" )

< br>

def __ openFile ( self ):


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

dosya türleri = [( "Tüm Dosyalar" , " *. * " ),

( "Metin Belgeleri" , "*. txt" )])

if self .__ f ile = = "":


# açılacak dosya yok

self .__ file = Yok

başka :

# dosyayı açmayı deneyin

# pencere başlığını ayarlayın

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

self .__ thisTextArea.delete ( 1.0 , END)


dosya = ( self .__ dosyası, "r" )


self < kod sınıfı = "düz"> .__ thisTextArea.insert ( 1.0 , dosya . read ())


dosya . kapat ()

def __ yeniDosya ( öz ):

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

self .__ dosya = Yok

self .__ thisTextArea.delete ( 1.0 , END)


def __ saveFile ( self ):


if self .__ dosya = = Yok :

# yeni dosya olarak kaydet

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

defaultextension = ". txt" ,

f iletipleri = [( "Tüm Dosyalar" , "*. *" ),

( "Metin Belgeleri" , "*. txt" )])


if self .__ file = = "":

self .__ dosyası = Yok

başka :

# dosyayı kaydetmeyi deneyin

dosya = < kod sınıfı = "işlevler" > aç ( öz .__ dosyası, "w" )

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

dosya . kapat ()

# pencerenin başlığını değiştirin

self .__ root.title (os.path.basename ( self .__ dosyası) < kod sınıfı = "anahtar kelime"> + "- Not Defteri" )



başka :

dosya = ( self .__file, "w" )

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

dosya . kapat ()


def __ cut ( self ):

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


def __ kopya ( self ):

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


def __ yapıştır ( self ):

self .__ thisTextArea.event_generate ( """Yapıştır""" )

Bu, not defterinde olması gereken tüm özellikleri ekledik, ayrıca yazı tipi boyutu, yazı tipi rengi, kalın, altı çizili vb. diğer özellikleri de ekleyebilirsiniz.

Ana koddan sonra hepsini birleştirerek:


import tkinter

import işletim sistemi

`dan tkinter import *

tkinter.messagebox içe aktar *

`dan tkinter.filedialog import *


class Not Defteri:

__ kök = Tk ()


# varsayılan pencere genişliği ve yüksekliği

< kod sınıfı ="tanımsız boşluklar "> __ thisWidth = 300

__ thisHeight = 300

__ thisTextArea = Metin (__root)

__ thisMenuBar = Menü (__ root)

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

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

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


# Kaydırma çubuğu ekle

__ thisScrollBar = Kaydırma çubuğu (__ thisTextArea)

__ file = Yok


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


# Simge ayarla

dene :

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

hariç :

< kod sınıfı = "anahtar kelime"> geçiş


# Pencere boyutunu ayarla (varsayılan 300x300)


deneyin :

self .__ thisWidth = kwargs [ ` width` ]

hariç Anahtar Hatası:

geçiş

< br>

deneyin :

self .__ thisHeight = kwargs [ `height` ]

hariç Anahtar Hatası:

pass


# Pencere metnini ayarla

self .__ root.title ( "Adsız - Not Defteri" )


# Pencereyi ortalayın

screenWidth = self .__ root. winfo_screenwidth ()

screenHeight = self .__ root .winfo_screenheight ()


# Sol için

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


# Right-ally

üst = (screenHeight / 2 ) - < kod sınıfı = "düz"> ( öz . __thisHeight / 2 )

# Üst ve alt için

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

self .__ thisHeight,

sol, üst))

# Metin alanını otomatik olarak yeniden boyutlandırmak için

/ code> pass


# Pencere metnini ayarla

self .__ root.title ( "Adsız - Not Defteri" )


# Merkez pencere

screenWidth = self .__ root.winfo_screenwidth ()

screenHeight = self .__ root.winfo_screenheight ()


# Sol için

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