FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
python-basic--programs/Notepad.py at main · mrirfankhan/python-basic--programs · GitHub
mrirfankhan
/
python-basic--programs
Public
Notifications
You must be signed in to change notification settings
Fork
0
Star
2
Code
Issues
0
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
python-basic--programs
/
Notepad.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
114 lines (98 loc) · 3.23 KB
Breadcrumbs
python-basic--programs
/
Notepad.py
Copy path
File metadata and controls
114 lines (98 loc) · 3.23 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
from
email
.
mime
.
multipart
import
MIMEMultipart
from
stat
import
filemode
from
tkinter
import
*
from
tkinter
.
messagebox
import
showinfo
from
tkinter
.
filedialog
import
askopenfilename
,
asksaveasfilename
import
tkinter
.
messagebox
as
tmbox
import
os
from
turtle
import
right
from
imageio
import
save
from
tkinter
.
filedialog
import
askopenfilename
,
asksaveasfile
def
newfile
():
global
file
root
.
title
(
"Untiteld-Notepad"
)
file
=
None
TextArea
.
delete
(
1.0
,
END
)
def
openfile
():
pass
def
savfile
():
global
file
if
file
==
None
:
file
=
asksaveasfilename
(
initialfile
=
"UNdifind.txt"
,
defaultextension
=
".txt"
,
filetypes
=
[(
"All Files"
,
"*.*"
),(
"Text Documents"
,
"*.txt"
)])
if
file
==
""
:
file
=
None
else
:
f
=
open
(
file
,
"w"
)
f
.
write
(
TextArea
.
get
(
1.0
,
END
))
f
.
close
()
root
.
title
(
os
.
path
.
basename
(
file
+
"-Notepad"
))
print
(
"File Saved"
)
else
:
f
=
open
(
file
,
"w"
)
f
.
write
(
TextArea
.
get
(
1.0
,
END
))
f
.
close
()
def
openfile
():
global
file
file
=
askopenfilename
(
defaultextension
=
".txt"
,
filetypes
=
[(
"All Files"
,
"*.*"
),(
"Text Documents"
,
"*.txt"
)])
if
file
==
""
:
file
=
None
else
:
root
.
title
(
os
.
path
.
basename
(
file
+
"-Notepad"
))
TextArea
.
delete
(
"1.0"
,
END
)
f
=
open
(
file
,
"r"
)
TextArea
.
insert
(
'1.0'
,
f
.
read
())
def
quitApp
():
root
.
destroy
()
def
cut
():
TextArea
.
event_generate
((
"<<Cut>>"
))
def
copy
():
TextArea
.
event_generate
((
"<<Copy>>"
))
def
paste
():
TextArea
.
event_generate
((
"<<Paste>>"
))
def
adout
():
tmbox
.
showinfo
(
title
=
"this is about page"
,
message
=
"thisis notpad"
)
pass
if
__name__
==
'__main__'
:
#Basic tkinter setup
root
=
Tk
()
root
.
title
(
"Untitled - Notepad"
)
root
.
wm_iconbitmap
(
"ca.ico"
)
root
.
geometry
(
"644x788"
)
#Add TextArea
TextArea
=
Text
(
root
,
font
=
"lucida 13"
)
file
=
None
TextArea
.
pack
(
expand
=
True
,
fill
=
BOTH
)
# Lets create a menubar
MenuBar
=
Menu
(
root
)
#File Menu Starts
FileMenu
=
Menu
(
MenuBar
,
tearoff
=
0
)
# To open new file
FileMenu
.
add_command
(
label
=
"New"
,
command
=
newfile
)
#To Open already existing file
FileMenu
.
add_command
(
label
=
"Open"
,
command
=
openfile
)
# To save the current file
FileMenu
.
add_command
(
label
=
"Save"
,
command
=
save
)
FileMenu
.
add_separator
()
FileMenu
.
add_command
(
label
=
"Exit"
,
command
=
quitApp
)
MenuBar
.
add_cascade
(
label
=
"File"
,
menu
=
FileMenu
)
# File Menu ends
# Edit Menu Starts
EditMenu
=
Menu
(
MenuBar
,
tearoff
=
0
)
#To give a feature of cut, copy and paste
EditMenu
.
add_command
(
label
=
"Cut"
,
command
=
cut
)
EditMenu
.
add_command
(
label
=
"Copy"
,
command
=
copy
)
EditMenu
.
add_command
(
label
=
"Paste"
,
command
=
paste
)
MenuBar
.
add_cascade
(
label
=
"Edit"
,
menu
=
EditMenu
)
# Edit Menu Ends
# Help Menu Starts
HelpMenu
=
Menu
(
MenuBar
,
tearoff
=
0
)
HelpMenu
.
add_command
(
label
=
"About Notepad"
,
command
=
help
)
MenuBar
.
add_cascade
(
label
=
"Help"
,
menu
=
HelpMenu
)
# Help Menu Ends
root
.
config
(
menu
=
MenuBar
)
#Adding Scrollbar using rules from Tkinter lecture no 22
Scroll
=
Scrollbar
(
TextArea
)
Scroll
.
pack
(
side
=
RIGHT
,
fill
=
Y
)
Scroll
.
config
(
command
=
TextArea
.
yview
)
TextArea
.
config
(
yscrollcommand
=
Scroll
.
set
)
root
.
mainloop
()
Back
|
FazBrowse Home
|
New Git URL