实例
- 创建基于Dialog without Buttons模板窗口
- 添加五个Label,四个LineEdit,一个PushButton部件
- 设定前四个Label的text为Email Address, Old Password, New Password, Re-enter New Password
- 设定第五个Label的text为空
- 设定PushButton的text为Change Password
- 设定Line Edit的objectName为lineEditEmailAddress, lineEditOldPassword, lineEditNewPassword, lineEditRePassword
- 设定PushButton的objectName为pushButtonChangePassword
- 设定第五个Label的object Name为labelResponse
- 保存为demoChangePassword.ui
- 使用pyuic生成demoChangePassword.py
- 创建callChangePassword.py,代码如下
import sqlite3, sys
from PyQt5.QtWidgets import QDialog, QApplication
from sqlite3 import Error
from cookbook_200504.demoSignInForm import *
class MyForm(QDialog):
def __init__(self):
super().__init__()
self.ui = Ui_Dialog()
self.ui.setupUi(self)
self.ui.pushButtonSearch.clicked.connect(self.SearchRows)
self.show()
def SearchRows(self):
sqlStatement="SELECT EmailAddress, Password FROM Users where EmailAddress like'"+self.ui.lineEditEmailAddress.text()+"'and Password like '"+ self.ui.lineEditPassword.text()+"'"
try:
conn = sqlite3.connect("ECommerce.db")
cur = conn.cursor()
cur.execute(sqlStatement)
row = cur.fetchone()
if row==None:
self.ui.labelResponse.setText("Sorry, Incorrect email address or password ")
else:
self.ui.labelResponse.setText("You are welcome ")
except Error as e:
self.ui.labelResponse.setText("Error in accessing row")
finally:
conn.close()
if __name__=="__main__":
app = QApplication(sys.argv)
w = MyForm()
w.show()
sys.exit(app.exec())