Для создания этой записной книжки в вашей системе уже должны быть установлены Python 3 и Tkinter. Вы можете загрузить соответствующий пакет Python в соответствии с требованиями вашей системы. После того, как вы успешно установили Python, вам необходимо установить Tkinter (пакет с графическим интерфейсом для Python).
Используйте эту команду для установки Tkinter:
pip install python-tk
Импорт Tkinter:
Примечание. Окно сообщений используется для написания сообщения в белом поле с именем Блокнот, а Диалоговый файл используется для отображения / em> диалогового окна, когда вы открыть файл из любой точки вашей системы или сохранить файл в определенной позиции или месте. Добавьте меню:
|
С помощью этого кода мы добавим меню в окна блокнота и добавим такие функции, как копирование, вставка, сохранение и т. д.
Добавьте функциональность:
def
__ quitApplication (
self
):
self
.__ root.destroy()
# exit()
def
__ showAbout (
self
):
showinfo (
"Блокнот"
,
"Мринал Верма"
)
__ openFile (
self
):
self
.__ file
=
askopenfilename (defaultextension
=
". txt"
,
типы файлов
=
[(
"Все файлы"
,
" *.* "
),
(
"Текстовые документы"
,
"*. txt"
)])
if
self
.__ file
=
=
"":
# нет файла для открытия
self
.__ file
=
Нет
else
:
# попробуйте открыть файл
# установите заголовок окна
self
.__ root.title (os.path. базовое имя (
self
.__ file)
+ <код class = "string"> " - Без блока"
)
self
.__ thisTextArea.delete (
1.0
, КОНЕЦ)
file
=
открыть
(
self
.__ файл,
"r"
)
self
.__ thisTextArea.insert (
1.0
,
файл
. read ())
file
. закрыть ()
def
__ newFile (
self
):
self
.__ root.title (
" Без названия - Блокнот "
)
self
.__ файл
=
None
self
.__ thisTextArea.delete (
1.0
, END)
def
__ saveFile (
self
):
if
self
.__ файл
=
=
None
:
# сохранить как новый файл
self
.__ file
=
просит сохранить имя_файла (инициальный файл
=
’ Untitled.txt’
,
defaultextension
=
". txt"
,
типы файлов
=
[(
"Все файлы"
,
"*.*"
),
(
"Текстовые документы"
,
"*. txt"
)])
if
self
.__ file
=
=
"":
self
.__ файл
=
Нет
else
:
# попытаться сохранить файл
файл
=
open
(
self
.__ файл,
"w"
)
f файл
<класс кода ="plain ">. write ( self
.__ thisTextArea.get (
1.0
, END))
файл
. close()
# изменить заголовок окна
self
.__ root.title (os.path.basename (
self
.__ file)
+
"- Блокнот"
)
else
:
file
=
open
(
self
.__file,
"w"
)
файл
. write (
self
.__ thisTextArea.get (
1.0
, END))
файл
. закрыть ()
def
__ cut (
self
):
self
.__ thisTextArea.event_generate (
"""Cut"""
)
def
__ copy (
self
):
self
.__ thisTextArea.event_generate (
"""Copy"""
)
def
__ paste (
self
):
self
.__ thisTextArea.event_generate (
""& л; Вставить"""
)
Это мы добавили все функции, которые требуются в блокноте, вы также можете добавить другие функции, такие как размер шрифта, цвет шрифта, полужирный шрифт, подчеркивание и т. д.
Основной код после объединение всего:
import
tkinter
import
os
from
tkinter
import
*
from
tkinter.messagebox
import
*
from
tkinter.filedialog
import
*
класс
Блокнот:
__ root
=
Tk()
# ширина и высота окна по умолчанию
< класс кода ="неопределенные пробелы"> __ thisWidth
=
300
__ thisHeight
=
300
__ thisTextArea
=
Text (__root)
__ thisMenuBar
=
Меню (__ root)
__ thisFileMenu
=
Меню (__ thisMenuBar, отрывной
=
0
)
__ thisEditMenu
=
Меню (__ thisMenuBar, отрывной
=
0
)
__ thisHelpMenu
=
Меню (__ thisMenuBar, отрывной
=
0
)
# Добавить полосу прокрутки
__ thisScrollBar
=
Полоса прокрутки (__ thisTextArea)
__ файл
=
Нет
def
__ init __ (
self
,
*
*
kwargs ):
# Установить значок
try
:
self
.__ root .wm_iconbitmap (
"Notepad.ico"
)
кроме
:
pass
# Установить размер окна (по умолчанию 300x300)
:
self
.__ thisWidth
=
kwargs [
’ width’
]
кроме
KeyError:
pass
попробовать
:
self
.__ thisHeight
=
kwargs [
’height’
]
кроме
KeyError:
pass
# Установить текст окна
self
.__ root.title (
"Без названия - Блокнот"
)
# Центрировать окно
screenWidth
=
self
.__ root. winfo_screenwidth ()
screenHeight
=
self
.__ root .winfo_screenheight ()
# Для левого
левого
=
(ширина экрана
/
2
)
-
(
self
.__ thisWidth
/
2
)
# Правильно
top
=
(screenHeight
/
2
)
-
< класс кода = "обычный"> ( <класс кода = "color1"> self <класс кода = "обычный">. __thisHeight /
2
)
# Для верхнего и нижнего
self
.__ root.geometry (
’% dx% d +% d +% d’
%
(
self
.__ thisWidth,
self
.__ thisHeight,
слева, сверху))
# Автоматическое изменение размера текстовой области
/ code>
передать
# Установить текст окна
self
.__ root.title (
"Без названия - Блокнот"
)
# Окно по центру
screenWidth
=
self
.__ root.winfo_screenwidth ()
screenHeight
=
self
.__ root.winfo_screenheight ()
# Для левого
left
=
(ширина экрана
/
2
)