Skip to content

Commit fe964b6

Browse files
committed
Notepad Application
1 parent 23ea669 commit fe964b6

33 files changed

+775
-1
lines changed

Section-02/12. Book Payment using RadioButtonGroup with UI-04.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ def radio_selected(self):
108108
if self.cash_radio.isChecked() == True:
109109
payment_selected = "Cash"
110110

111-
self.label_result.setText("Chosen Book: " +book_selected+", Choosen Payment Method- " +payment_selected)
111+
self.label_result.setText("Chosen Book- " +book_selected+", Choosen Payment Method- " +payment_selected)
112112

113113

114114
def retranslateUi(self, Dialog):

Section-02/13. QCheckBox.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
from PyQt6.QtWidgets import QApplication, QWidget, QHBoxLayout, QCheckBox, QVBoxLayout, QLabel
2+
from PyQt6.QtGui import QIcon
3+
import sys
4+
5+
6+
class Window(QWidget):
7+
def __init__(self):
8+
super().__init__()
9+
10+
self.setGeometry(200,200, 400,200)
11+
self.setWindowTitle("PyQt6 QCheckBox")
12+
self.setWindowIcon(QIcon('./images/python.png'))
13+
14+
hbox = QHBoxLayout()
15+
16+
self.python_chk = QCheckBox("Python")
17+
self.python_chk.setIcon(QIcon("./images/python.png"))
18+
19+
self.javascript_chk = QCheckBox("JavaScript")
20+
self.javascript_chk.setIcon(QIcon("./images/javascript.png"))
21+
22+
self.java_chk = QCheckBox("Java")
23+
self.java_chk.setIcon(QIcon("./images/java.png"))
24+
25+
self.label = QVBoxLayout("Hello")
26+
27+
vbox = QVBoxLayout()
28+
vbox.addWidget(self.label)
29+
30+
31+
hbox.addWidget(self.python_chk)
32+
hbox.addWidget(self.javascript_chk)
33+
hbox.addWidget(self.java_chk)
34+
35+
vbox.addLayout(hbox)
36+
37+
self.setLayout(vbox)
38+
39+
app = QApplication(sys.argv)
40+
Window = Window()
41+
Window.show()
42+
sys.exit(app.exec())

Section-03/NotePad.py

Lines changed: 261 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,261 @@
1+
# Form implementation generated from reading ui file 'NotepadApp.ui'
2+
#
3+
# Created by: PyQt6 UI code generator 6.4.2
4+
#
5+
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
6+
# run again. Do not edit this file unless you know what you are doing.
7+
8+
9+
from PyQt6 import QtCore, QtGui, QtWidgets
10+
11+
12+
class Ui_MainWindow(object):
13+
def setupUi(self, MainWindow):
14+
MainWindow.setObjectName("MainWindow")
15+
MainWindow.resize(700, 500)
16+
self.centralwidget = QtWidgets.QWidget(parent=MainWindow)
17+
self.centralwidget.setObjectName("centralwidget")
18+
self.horizontalLayout = QtWidgets.QHBoxLayout(self.centralwidget)
19+
self.horizontalLayout.setObjectName("horizontalLayout")
20+
self.textEdit = QtWidgets.QTextEdit(parent=self.centralwidget)
21+
self.textEdit.setObjectName("textEdit")
22+
self.horizontalLayout.addWidget(self.textEdit)
23+
MainWindow.setCentralWidget(self.centralwidget)
24+
self.menubar = QtWidgets.QMenuBar(parent=MainWindow)
25+
self.menubar.setGeometry(QtCore.QRect(0, 0, 700, 22))
26+
self.menubar.setObjectName("menubar")
27+
self.menuFile = QtWidgets.QMenu(parent=self.menubar)
28+
self.menuFile.setObjectName("menuFile")
29+
self.menuEdit = QtWidgets.QMenu(parent=self.menubar)
30+
self.menuEdit.setObjectName("menuEdit")
31+
self.menuAbout = QtWidgets.QMenu(parent=self.menubar)
32+
self.menuAbout.setObjectName("menuAbout")
33+
self.menuFormat = QtWidgets.QMenu(parent=self.menubar)
34+
self.menuFormat.setObjectName("menuFormat")
35+
MainWindow.setMenuBar(self.menubar)
36+
self.statusbar = QtWidgets.QStatusBar(parent=MainWindow)
37+
self.statusbar.setObjectName("statusbar")
38+
MainWindow.setStatusBar(self.statusbar)
39+
self.toolBar = QtWidgets.QToolBar(parent=MainWindow)
40+
self.toolBar.setObjectName("toolBar")
41+
MainWindow.addToolBar(QtCore.Qt.ToolBarArea.TopToolBarArea, self.toolBar)
42+
self.actionNew = QtGui.QAction(parent=MainWindow)
43+
icon = QtGui.QIcon()
44+
icon.addPixmap(QtGui.QPixmap("images/new.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
45+
self.actionNew.setIcon(icon)
46+
self.actionNew.setObjectName("actionNew")
47+
self.actionOpen = QtGui.QAction(parent=MainWindow)
48+
icon1 = QtGui.QIcon()
49+
icon1.addPixmap(QtGui.QPixmap("images/open.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
50+
self.actionOpen.setIcon(icon1)
51+
self.actionOpen.setObjectName("actionOpen")
52+
self.actionSave = QtGui.QAction(parent=MainWindow)
53+
icon2 = QtGui.QIcon()
54+
icon2.addPixmap(QtGui.QPixmap("images/save.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
55+
self.actionSave.setIcon(icon2)
56+
self.actionSave.setObjectName("actionSave")
57+
self.actionPrint = QtGui.QAction(parent=MainWindow)
58+
self.actionPrint.setObjectName("actionPrint")
59+
self.actionPrint_Preview = QtGui.QAction(parent=MainWindow)
60+
self.actionPrint_Preview.setObjectName("actionPrint_Preview")
61+
self.actionQuit = QtGui.QAction(parent=MainWindow)
62+
self.actionQuit.setObjectName("actionQuit")
63+
self.actionPrint_2 = QtGui.QAction(parent=MainWindow)
64+
icon3 = QtGui.QIcon()
65+
icon3.addPixmap(QtGui.QPixmap("images/print.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
66+
self.actionPrint_2.setIcon(icon3)
67+
self.actionPrint_2.setObjectName("actionPrint_2")
68+
self.actionPrint_Preview_2 = QtGui.QAction(parent=MainWindow)
69+
icon4 = QtGui.QIcon()
70+
icon4.addPixmap(QtGui.QPixmap("images/printprev.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
71+
self.actionPrint_Preview_2.setIcon(icon4)
72+
self.actionPrint_Preview_2.setObjectName("actionPrint_Preview_2")
73+
self.actionExport_PDF = QtGui.QAction(parent=MainWindow)
74+
icon5 = QtGui.QIcon()
75+
icon5.addPixmap(QtGui.QPixmap("images/pdf.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
76+
self.actionExport_PDF.setIcon(icon5)
77+
self.actionExport_PDF.setObjectName("actionExport_PDF")
78+
self.actionQuit_2 = QtGui.QAction(parent=MainWindow)
79+
icon6 = QtGui.QIcon()
80+
icon6.addPixmap(QtGui.QPixmap("images/exit.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
81+
self.actionQuit_2.setIcon(icon6)
82+
self.actionQuit_2.setObjectName("actionQuit_2")
83+
self.actionUndo = QtGui.QAction(parent=MainWindow)
84+
icon7 = QtGui.QIcon()
85+
icon7.addPixmap(QtGui.QPixmap("images/undo.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
86+
self.actionUndo.setIcon(icon7)
87+
self.actionUndo.setObjectName("actionUndo")
88+
self.actionRedo = QtGui.QAction(parent=MainWindow)
89+
icon8 = QtGui.QIcon()
90+
icon8.addPixmap(QtGui.QPixmap("images/redo.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
91+
self.actionRedo.setIcon(icon8)
92+
self.actionRedo.setObjectName("actionRedo")
93+
self.actionCut = QtGui.QAction(parent=MainWindow)
94+
icon9 = QtGui.QIcon()
95+
icon9.addPixmap(QtGui.QPixmap("images/cut.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
96+
self.actionCut.setIcon(icon9)
97+
self.actionCut.setObjectName("actionCut")
98+
self.actionCopy = QtGui.QAction(parent=MainWindow)
99+
icon10 = QtGui.QIcon()
100+
icon10.addPixmap(QtGui.QPixmap("images/copy.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
101+
self.actionCopy.setIcon(icon10)
102+
self.actionCopy.setObjectName("actionCopy")
103+
self.actionPaste = QtGui.QAction(parent=MainWindow)
104+
icon11 = QtGui.QIcon()
105+
icon11.addPixmap(QtGui.QPixmap("images/paste.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
106+
self.actionPaste.setIcon(icon11)
107+
self.actionPaste.setObjectName("actionPaste")
108+
self.actionBold = QtGui.QAction(parent=MainWindow)
109+
icon12 = QtGui.QIcon()
110+
icon12.addPixmap(QtGui.QPixmap("images/bold.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
111+
self.actionBold.setIcon(icon12)
112+
self.actionBold.setObjectName("actionBold")
113+
self.actionItalic = QtGui.QAction(parent=MainWindow)
114+
icon13 = QtGui.QIcon()
115+
icon13.addPixmap(QtGui.QPixmap("images/italic.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
116+
self.actionItalic.setIcon(icon13)
117+
self.actionItalic.setObjectName("actionItalic")
118+
self.actionUnderline = QtGui.QAction(parent=MainWindow)
119+
icon14 = QtGui.QIcon()
120+
icon14.addPixmap(QtGui.QPixmap("images/underline.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
121+
self.actionUnderline.setIcon(icon14)
122+
self.actionUnderline.setObjectName("actionUnderline")
123+
self.actionAlign_Left = QtGui.QAction(parent=MainWindow)
124+
icon15 = QtGui.QIcon()
125+
icon15.addPixmap(QtGui.QPixmap("images/align-left.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
126+
self.actionAlign_Left.setIcon(icon15)
127+
self.actionAlign_Left.setObjectName("actionAlign_Left")
128+
self.actionAlign_Right = QtGui.QAction(parent=MainWindow)
129+
icon16 = QtGui.QIcon()
130+
icon16.addPixmap(QtGui.QPixmap("images/align-right.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
131+
self.actionAlign_Right.setIcon(icon16)
132+
self.actionAlign_Right.setObjectName("actionAlign_Right")
133+
self.actionCenter = QtGui.QAction(parent=MainWindow)
134+
icon17 = QtGui.QIcon()
135+
icon17.addPixmap(QtGui.QPixmap("images/center-align.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
136+
self.actionCenter.setIcon(icon17)
137+
self.actionCenter.setObjectName("actionCenter")
138+
self.actionAlign_Justify = QtGui.QAction(parent=MainWindow)
139+
icon18 = QtGui.QIcon()
140+
icon18.addPixmap(QtGui.QPixmap("images/justify.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
141+
self.actionAlign_Justify.setIcon(icon18)
142+
self.actionAlign_Justify.setObjectName("actionAlign_Justify")
143+
self.actionFont = QtGui.QAction(parent=MainWindow)
144+
icon19 = QtGui.QIcon()
145+
icon19.addPixmap(QtGui.QPixmap("images/font.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
146+
self.actionFont.setIcon(icon19)
147+
self.actionFont.setObjectName("actionFont")
148+
self.actionColor = QtGui.QAction(parent=MainWindow)
149+
icon20 = QtGui.QIcon()
150+
icon20.addPixmap(QtGui.QPixmap("images/color.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
151+
self.actionColor.setIcon(icon20)
152+
self.actionColor.setObjectName("actionColor")
153+
self.actionAbout_App = QtGui.QAction(parent=MainWindow)
154+
icon21 = QtGui.QIcon()
155+
icon21.addPixmap(QtGui.QPixmap("images/about.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
156+
self.actionAbout_App.setIcon(icon21)
157+
self.actionAbout_App.setObjectName("actionAbout_App")
158+
self.menuFile.addAction(self.actionNew)
159+
self.menuFile.addAction(self.actionOpen)
160+
self.menuFile.addAction(self.actionSave)
161+
self.menuFile.addSeparator()
162+
self.menuFile.addAction(self.actionPrint_2)
163+
self.menuFile.addAction(self.actionPrint_Preview_2)
164+
self.menuFile.addAction(self.actionExport_PDF)
165+
self.menuFile.addSeparator()
166+
self.menuFile.addAction(self.actionQuit_2)
167+
self.menuEdit.addAction(self.actionUndo)
168+
self.menuEdit.addAction(self.actionRedo)
169+
self.menuEdit.addSeparator()
170+
self.menuEdit.addAction(self.actionCut)
171+
self.menuEdit.addAction(self.actionCopy)
172+
self.menuEdit.addAction(self.actionPaste)
173+
self.menuAbout.addAction(self.actionAbout_App)
174+
self.menuFormat.addAction(self.actionBold)
175+
self.menuFormat.addAction(self.actionItalic)
176+
self.menuFormat.addAction(self.actionUnderline)
177+
self.menuFormat.addSeparator()
178+
self.menuFormat.addAction(self.actionAlign_Left)
179+
self.menuFormat.addAction(self.actionAlign_Right)
180+
self.menuFormat.addAction(self.actionCenter)
181+
self.menuFormat.addAction(self.actionAlign_Justify)
182+
self.menuFormat.addSeparator()
183+
self.menuFormat.addAction(self.actionFont)
184+
self.menuFormat.addAction(self.actionColor)
185+
self.menubar.addAction(self.menuFile.menuAction())
186+
self.menubar.addAction(self.menuEdit.menuAction())
187+
self.menubar.addAction(self.menuFormat.menuAction())
188+
self.menubar.addAction(self.menuAbout.menuAction())
189+
self.toolBar.addAction(self.actionNew)
190+
self.toolBar.addAction(self.actionSave)
191+
self.toolBar.addAction(self.actionUndo)
192+
self.toolBar.addAction(self.actionRedo)
193+
self.toolBar.addAction(self.actionPrint_2)
194+
self.toolBar.addAction(self.actionPrint_Preview_2)
195+
self.toolBar.addAction(self.actionExport_PDF)
196+
197+
self.retranslateUi(MainWindow)
198+
QtCore.QMetaObject.connectSlotsByName(MainWindow)
199+
200+
def retranslateUi(self, MainWindow):
201+
_translate = QtCore.QCoreApplication.translate
202+
MainWindow.setWindowTitle(_translate("MainWindow", "NotePad App"))
203+
self.menuFile.setTitle(_translate("MainWindow", "File"))
204+
self.menuEdit.setTitle(_translate("MainWindow", "Edit"))
205+
self.menuAbout.setTitle(_translate("MainWindow", "About"))
206+
self.menuFormat.setTitle(_translate("MainWindow", "Format"))
207+
self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar"))
208+
self.actionNew.setText(_translate("MainWindow", "New"))
209+
self.actionNew.setShortcut(_translate("MainWindow", "Ctrl+N"))
210+
self.actionOpen.setText(_translate("MainWindow", "Open"))
211+
self.actionOpen.setShortcut(_translate("MainWindow", "Ctrl+O"))
212+
self.actionSave.setText(_translate("MainWindow", "Save"))
213+
self.actionSave.setShortcut(_translate("MainWindow", "Ctrl+S"))
214+
self.actionPrint.setText(_translate("MainWindow", "Print"))
215+
self.actionPrint_Preview.setText(_translate("MainWindow", "Print Preview"))
216+
self.actionQuit.setText(_translate("MainWindow", "Quit"))
217+
self.actionPrint_2.setText(_translate("MainWindow", "Print"))
218+
self.actionPrint_2.setShortcut(_translate("MainWindow", "Ctrl+P"))
219+
self.actionPrint_Preview_2.setText(_translate("MainWindow", "Print Preview"))
220+
self.actionPrint_Preview_2.setShortcut(_translate("MainWindow", "Ctrl+Shift+P"))
221+
self.actionExport_PDF.setText(_translate("MainWindow", "Export PDF"))
222+
self.actionExport_PDF.setShortcut(_translate("MainWindow", "Ctrl+E"))
223+
self.actionQuit_2.setText(_translate("MainWindow", "Quit"))
224+
self.actionQuit_2.setShortcut(_translate("MainWindow", "Ctrl+Q"))
225+
self.actionUndo.setText(_translate("MainWindow", "Undo"))
226+
self.actionUndo.setShortcut(_translate("MainWindow", "Ctrl+Z"))
227+
self.actionRedo.setText(_translate("MainWindow", "Redo"))
228+
self.actionRedo.setShortcut(_translate("MainWindow", "Ctrl+Y"))
229+
self.actionCut.setText(_translate("MainWindow", "Cut"))
230+
self.actionCut.setShortcut(_translate("MainWindow", "Ctrl+X"))
231+
self.actionCopy.setText(_translate("MainWindow", "Copy"))
232+
self.actionCopy.setShortcut(_translate("MainWindow", "Ctrl+C"))
233+
self.actionPaste.setText(_translate("MainWindow", "Paste"))
234+
self.actionPaste.setShortcut(_translate("MainWindow", "Ctrl+V"))
235+
self.actionBold.setText(_translate("MainWindow", "Bold"))
236+
self.actionBold.setShortcut(_translate("MainWindow", "Ctrl+B"))
237+
self.actionItalic.setText(_translate("MainWindow", "Italic"))
238+
self.actionItalic.setShortcut(_translate("MainWindow", "Ctrl+I"))
239+
self.actionUnderline.setText(_translate("MainWindow", "Underline"))
240+
self.actionUnderline.setShortcut(_translate("MainWindow", "Ctrl+U"))
241+
self.actionAlign_Left.setText(_translate("MainWindow", "Align Left"))
242+
self.actionAlign_Left.setShortcut(_translate("MainWindow", "Ctrl+L"))
243+
self.actionAlign_Right.setText(_translate("MainWindow", "Align Right"))
244+
self.actionAlign_Right.setShortcut(_translate("MainWindow", "Ctrl+R"))
245+
self.actionCenter.setText(_translate("MainWindow", "Align Center"))
246+
self.actionCenter.setShortcut(_translate("MainWindow", "Ctrl+K"))
247+
self.actionAlign_Justify.setText(_translate("MainWindow", "Align Justify"))
248+
self.actionAlign_Justify.setShortcut(_translate("MainWindow", "Ctrl+J"))
249+
self.actionFont.setText(_translate("MainWindow", "Font"))
250+
self.actionColor.setText(_translate("MainWindow", "Color"))
251+
self.actionAbout_App.setText(_translate("MainWindow", "About App"))
252+
253+
254+
# if __name__ == "__main__":
255+
# import sys
256+
# app = QtWidgets.QApplication(sys.argv)
257+
# MainWindow = QtWidgets.QMainWindow()
258+
# ui = Ui_MainWindow()
259+
# ui.setupUi(MainWindow)
260+
# MainWindow.show()
261+
# sys.exit(app.exec())

Section-03/NotePadApp.py

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
from PyQt6.QtWidgets import QMainWindow, QApplication, QFileDialog, QMessageBox
2+
from PyQt6.QtPrintSupport import QPrinter
3+
import sys
4+
from NotePad import Ui_MainWindow
5+
6+
class NotePadWindow(QMainWindow, Ui_MainWindow):
7+
def __init__(self):
8+
super().__init__()
9+
self.setupUi(self)
10+
self.show()
11+
12+
#---------------Signal Connection Section-----------------
13+
self.actionSave.triggered.connect(self.save_file)
14+
self.actionNew.triggered.connect(self.file_new)
15+
self.actionOpen.triggered.connect(self.open_file)
16+
17+
18+
#------------Maybe Save Function----------------
19+
def maybe_save(self):
20+
if not self.textEdit.document().isModified():
21+
return True
22+
23+
ret = QMessageBox.warning(self, "Application",
24+
"The document has been modified.\n Do you want to save your changes?",
25+
QMessageBox.StandardButton.Save | QMessageBox.StandardButton.Discard | QMessageBox.StandardButton.Cancel)
26+
if ret ==QMessageBox.StandardButton.Save:
27+
return self.save_file()
28+
29+
if ret == QMessageBox.StandardButton.Cancel:
30+
return self.show()
31+
return True
32+
33+
#---------------File Save Function---------------------
34+
def save_file(self):
35+
filename = QFileDialog.getSaveFileName(self,"Save File")
36+
if filename[0]:
37+
f =open(filename[0], 'w')
38+
with f:
39+
text = self.textEdit.toPlainText()
40+
f.write(text)
41+
QMessageBox.about(self, "Save FIle", "File have been saved")
42+
43+
#------------------New File Function------------------------------
44+
def file_new(self):
45+
if self.maybe_save():
46+
self.textEdit.clear()
47+
48+
#------------------Open File Function-----------------------
49+
def open_file(self):
50+
fname = QFileDialog.getOpenFileName(self, "Open File", '/home')
51+
if fname[0]:
52+
f = open(fname[0], 'r')
53+
with f:
54+
data = f.read()
55+
self.textEdit.setText(data)
56+
57+
#-----------------Print Function--------------------
58+
# from PyQt6.QtPrintSupport import QPrinter --> inded libraries
59+
60+
61+
app = QApplication(sys.argv)
62+
Note = NotePadWindow()
63+
sys.exit(app.exec())

0 commit comments

Comments
 (0)