السلام عليكم ورحمة الله وبركاته
مراسلكم من وراء الشاشه عبدالله يرحب بكم
نستكمل ما توقفنا عنده في عمل برنامج بالبايثون والتعامل مع قاعدة البيانات
اليوم نبدء بالحديث عن كيفية تحديث معلومات العميل وايضآ كيفية تغيير الصوره الخ ..
اولآ نقوم بفتح برنامج Designer PyQt5 وعمل واجهة تصميم التحديث بهذا الشكل
نقوم بعمل ملف بأسم UpdateUser.py وهذا الكود الخاص به
Code:
from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.uic import loadUiType import os,sqlite3 PRO_UPDATE,_ = loadUiType(os.path.join(os.path.dirname(__file__),'UpdateUser.ui')) class UpdateUser(QMainWindow,PRO_UPDATE): def __init__(self,parent=None): super(UpdateUser,self).__init__(parent) self.setupUi(self) self.CnlUpdate.clicked.connect(self.Cancel) self.txtUpdate.clicked.connect(self.UpdateUserName) self.btnOpenImages.clicked.connect(self.OpenImages) self.btnInfoUser.clicked.connect(self.InsertUpUserName) #Here The Methods def Cancel(self): self.hide() def InsertUpUserName(self): if self.txtPhone.text() is '': QMessageBox.question(self,'Message','الرجاء ادخل رقم هاتف',QMessageBox.Ok) else: self.db = sqlite3.connect('dbUser.db') self.con = self.db if self.con: self.cur = self.con self.sql = 'select * from Usr where userphone={}'.format(self.txtPhone.text()) for row in self.cur.execute(self.sql): self.idUser = row[0] self.txtUserName.setText(row[1]) self.txtUserWorks.setText(row[2]) self.txtUserPhone.setText(row[3]) self.lblUserImg.setPixmap(QPixmap(row[4])) self.cur.commit() self.cur.close() def OpenImages(self): self.options = QFileDialog.Options() self.options |= QFileDialog.DontUseNativeDialog self.fileName, _ = QFileDialog.getOpenFileName(self, "QFileDialog.getOpenFileName()", "","All Files (*);;Text Files (*.jpg *.png *.gif)",options=self.options) if self.fileName: self.lblUserImg.setPixmap(QPixmap(self.fileName)) def UpdateUserName(self): self.db = sqlite3.connect('dbUser.db') self.con = self.db if self.con: self.name = self.txtUserName.text() self.works = self.txtUserWorks.text() self.phone = self.txtUserPhone.text() self.cur = self.con self.cur.execute("UPDATE Usr SET username=?,userworks=?,userphone=?,userimages=? WHERE ID=?", (self.name,self.works,self.phone,self.fileName,self.idUser)) self.cur.commit() self.cur.close() QMessageBox.question(self,'الرسالة','تم تحديث البيانات',QMessageBox.Ok)
سأحدث البيانات بما فيها صورة العميل واضغط تحديث
الأن سأبحث عن العميل بعد تحديثه في الواجهه الرئيسية
كل شيء تمام بفضل لله اولآ واخيرآ
ملاحظه : سأترك خيار الحذف للاعضاء حتى يتمرسوا على كيفية طريقة الحذف برمجيآ
*
او
*
الى هنا انتهيت من برنامجي البسيط المتواضع
اتمنى للجميع التوفيق