Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 514f982

Browse files
Update Section-04 Database Connection
1 parent 37e2f9f commit 514f982

File tree

3 files changed

+152
-5
lines changed

3 files changed

+152
-5
lines changed

‎Section-04/InsertingDataDatabaes.py‎

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88

99
from PyQt6 import QtCore, QtGui, QtWidgets
10+
import mysql.connector as mc
1011

1112

1213
class Ui_Form(object):
@@ -36,6 +37,8 @@ def setupUi(self, Form):
3637
self.lineEdit_username.setObjectName("lineEdit_username")
3738
self.horizontalLayout.addWidget(self.lineEdit_username)
3839
self.verticalLayout.addLayout(self.horizontalLayout)
40+
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
41+
self.verticalLayout.addItem(spacerItem1)
3942
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
4043
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
4144
self.label_2 = QtWidgets.QLabel(parent=Form)
@@ -45,28 +48,63 @@ def setupUi(self, Form):
4548
self.label_2.setObjectName("label_2")
4649
self.horizontalLayout_2.addWidget(self.label_2)
4750
self.lineEdit_password = QtWidgets.QLineEdit(parent=Form)
51+
self.lineEdit_password.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
4852
self.lineEdit_password.setObjectName("lineEdit_password")
4953
self.horizontalLayout_2.addWidget(self.lineEdit_password)
5054
self.verticalLayout.addLayout(self.horizontalLayout_2)
51-
spacerItem1 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
52-
self.verticalLayout.addItem(spacerItem1)
55+
spacerItem2 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
56+
self.verticalLayout.addItem(spacerItem2)
5357
self.pushButton_insert = QtWidgets.QPushButton(parent=Form)
5458
font = QtGui.QFont()
5559
font.setPointSize(10)
5660
font.setBold(True)
5761
self.pushButton_insert.setFont(font)
5862
self.pushButton_insert.setObjectName("pushButton_insert")
63+
64+
self.pushButton_insert.clicked.connect(self.insert_data)
5965
self.verticalLayout.addWidget(self.pushButton_insert)
66+
self.label_result = QtWidgets.QLabel(parent=Form)
67+
font = QtGui.QFont()
68+
font.setBold(True)
69+
self.label_result.setFont(font)
70+
self.label_result.setText("")
71+
self.label_result.setObjectName("label_result")
72+
self.verticalLayout.addWidget(self.label_result)
6073

6174
self.retranslateUi(Form)
6275
QtCore.QMetaObject.connectSlotsByName(Form)
6376

77+
def insert_data(self):
78+
try:
79+
mydb = mc.connect(
80+
host="localhost",
81+
user="root",
82+
password="",
83+
database="pyqtdb"
84+
)
85+
86+
mycursor = mydb.cursor()
87+
username = self.lineEdit_username.text()
88+
password = self.lineEdit_password.text()
89+
90+
query = "INSERT INTO pyqtusers (username, password) VALUES (%s, %s)"
91+
value = (username, password)
92+
93+
mycursor.execute(query, value)
94+
95+
mydb.commit()
96+
self.label_result.setText("Data Inserted")
97+
98+
except mc.Error as e:
99+
self.label_result.setText("Error Inserting Data.")
100+
101+
64102
def retranslateUi(self, Form):
65103
_translate = QtCore.QCoreApplication.translate
66104
Form.setWindowTitle(_translate("Form", "Form"))
67105
self.label_3.setText(_translate("Form", "Inserting Data to MySQL Database"))
68106
self.label.setText(_translate("Form", "Username:"))
69-
self.label_2.setText(_translate("Form", "Password:"))
107+
self.label_2.setText(_translate("Form", "Password:"))
70108
self.pushButton_insert.setText(_translate("Form", "Insert Data"))
71109

72110

‎Section-04/InsertingDataDatabaes.ui‎

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,19 @@
6262
</item>
6363
</layout>
6464
</item>
65+
<item>
66+
<spacer name="verticalSpacer_3">
67+
<property name="orientation">
68+
<enum>Qt::Vertical</enum>
69+
</property>
70+
<property name="sizeHint" stdset="0">
71+
<size>
72+
<width>20</width>
73+
<height>40</height>
74+
</size>
75+
</property>
76+
</spacer>
77+
</item>
6578
<item>
6679
<layout class="QHBoxLayout" name="horizontalLayout_2">
6780
<item>
@@ -72,15 +85,19 @@
7285
</font>
7386
</property>
7487
<property name="text">
75-
<string>Password:</string>
88+
<string>Password:</string>
7689
</property>
7790
<property name="margin">
7891
<number>10</number>
7992
</property>
8093
</widget>
8194
</item>
8295
<item>
83-
<widget class="QLineEdit" name="lineEdit_password"/>
96+
<widget class="QLineEdit" name="lineEdit_password">
97+
<property name="echoMode">
98+
<enum>QLineEdit::Password</enum>
99+
</property>
100+
</widget>
84101
</item>
85102
</layout>
86103
</item>
@@ -110,6 +127,18 @@
110127
</property>
111128
</widget>
112129
</item>
130+
<item>
131+
<widget class="QLabel" name="label_result">
132+
<property name="font">
133+
<font>
134+
<bold>true</bold>
135+
</font>
136+
</property>
137+
<property name="text">
138+
<string/>
139+
</property>
140+
</widget>
141+
</item>
113142
</layout>
114143
</widget>
115144
<resources/>
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# Form implementation generated from reading ui file 'c:\Users\MD. SHAMIM\Documents\GitHub\Python-GUI-PyQt6\Section-04\InsertingDataDatabaes.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_Form(object):
13+
def setupUi(self, Form):
14+
Form.setObjectName("Form")
15+
Form.resize(500, 250)
16+
self.verticalLayout = QtWidgets.QVBoxLayout(Form)
17+
self.verticalLayout.setObjectName("verticalLayout")
18+
self.label_3 = QtWidgets.QLabel(parent=Form)
19+
font = QtGui.QFont()
20+
font.setPointSize(12)
21+
font.setBold(True)
22+
self.label_3.setFont(font)
23+
self.label_3.setObjectName("label_3")
24+
self.verticalLayout.addWidget(self.label_3)
25+
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
26+
self.verticalLayout.addItem(spacerItem)
27+
self.horizontalLayout = QtWidgets.QHBoxLayout()
28+
self.horizontalLayout.setObjectName("horizontalLayout")
29+
self.label = QtWidgets.QLabel(parent=Form)
30+
font = QtGui.QFont()
31+
font.setBold(True)
32+
self.label.setFont(font)
33+
self.label.setObjectName("label")
34+
self.horizontalLayout.addWidget(self.label)
35+
self.lineEdit_username = QtWidgets.QLineEdit(parent=Form)
36+
self.lineEdit_username.setObjectName("lineEdit_username")
37+
self.horizontalLayout.addWidget(self.lineEdit_username)
38+
self.verticalLayout.addLayout(self.horizontalLayout)
39+
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
40+
self.verticalLayout.addItem(spacerItem1)
41+
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
42+
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
43+
self.label_2 = QtWidgets.QLabel(parent=Form)
44+
font = QtGui.QFont()
45+
font.setBold(True)
46+
self.label_2.setFont(font)
47+
self.label_2.setObjectName("label_2")
48+
self.horizontalLayout_2.addWidget(self.label_2)
49+
self.lineEdit_password = QtWidgets.QLineEdit(parent=Form)
50+
self.lineEdit_password.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
51+
self.lineEdit_password.setObjectName("lineEdit_password")
52+
self.horizontalLayout_2.addWidget(self.lineEdit_password)
53+
self.verticalLayout.addLayout(self.horizontalLayout_2)
54+
spacerItem2 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
55+
self.verticalLayout.addItem(spacerItem2)
56+
self.pushButton_insert = QtWidgets.QPushButton(parent=Form)
57+
font = QtGui.QFont()
58+
font.setPointSize(10)
59+
font.setBold(True)
60+
self.pushButton_insert.setFont(font)
61+
self.pushButton_insert.setObjectName("pushButton_insert")
62+
self.verticalLayout.addWidget(self.pushButton_insert)
63+
self.label_result = QtWidgets.QLabel(parent=Form)
64+
font = QtGui.QFont()
65+
font.setBold(True)
66+
self.label_result.setFont(font)
67+
self.label_result.setText("")
68+
self.label_result.setObjectName("label_result")
69+
self.verticalLayout.addWidget(self.label_result)
70+
71+
self.retranslateUi(Form)
72+
QtCore.QMetaObject.connectSlotsByName(Form)
73+
74+
def retranslateUi(self, Form):
75+
_translate = QtCore.QCoreApplication.translate
76+
Form.setWindowTitle(_translate("Form", "Form"))
77+
self.label_3.setText(_translate("Form", "Inserting Data to MySQL Database"))
78+
self.label.setText(_translate("Form", "Username:"))
79+
self.label_2.setText(_translate("Form", "Password: "))
80+
self.pushButton_insert.setText(_translate("Form", "Insert Data"))

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /