当前位置: 首页 > news >正文

企业网站开发服务怎么制作个人网页

企业网站开发服务,怎么制作个人网页,青岛市南区疫情最新消息,同ip怎么做不同的网站之前学习PyQt5,然后那段时间想做一个桌面小程序,后来由于学习内容较多就做了一小部分,但是可以进行页面跳转。大家如果是初学者对Python感兴趣而且刚学数据库时可以看看代码,可能会有点启发。 效果: 登录进来是这&…

之前学习PyQt5,然后那段时间想做一个桌面小程序,后来由于学习内容较多就做了一小部分,但是可以进行页面跳转。大家如果是初学者对Python感兴趣而且刚学数据库时可以看看代码,可能会有点启发。

效果:

 登录进来是这:

 

 实现了账号密码的增删改功能

结构很简单

源代码如下:

database.py

import pymysql # 导入操作MySQL数据库的模块userName="" # 记录用户名# 打开数据库连接
def open():db = pymysql.connect(host="localhost", user="root", passwd="123456", database="db_goods",charset="utf8")return db # 返回连接对象#数据库增删改
def exec(sql,values):db=open() # 连接数据库cursor = db.cursor() # 使用cursor()方法获取操作游标try:cursor.execute(sql,values) # 执行增删改的SQL语句db.commit() # 提交数据return 1 # 执行成功except:db.rollback() # 发生错误时回滚return 0 # 执行失败finally:cursor.close() # 关闭游标db.close() # 关闭数据库连接
# 带参数的精确查询
def query(sql,*keys):db=open() # 连接数据库cursor = db.cursor() # 使用cursor()方法获取操作游标cursor.execute(sql,keys) # 执行查询SQL语句result = cursor.fetchall() # 记录查询结果cursor.close() # 关闭游标db.close() # 关闭数据库连接return result # 返回查询结果
# 不带参数的模糊查询
def query2(sql):db=open() # 连接数据库cursor = db.cursor() # 使用cursor()方法获取操作游标cursor.execute(sql) # 执行查询SQL语句result = cursor.fetchall() # 记录查询结果cursor.close() # 关闭游标db.close() # 关闭数据库连接return result # 返回查询结果

图片要放在这种文件里

<RCC><qresource prefix="newPrefix"><file>images/loginPIC.jpg</file><file>images/main.jpg</file></qresource>
</RCC>

 需要用到这个工具,大家自己查一下,很容易配置

login.py

#login.py
from PyQt5 import QtCore, QtGui, QtWidgets
import dataBase
from PyQt5.QtWidgets import QMessageBox
import main
from PyQt5.QtWidgets import *class Ui_MainWindow(object):def setupUi(self, MainWindow):MainWindow.setObjectName("MainWindow")MainWindow.setWindowFlags(QtCore.Qt.MSWindowsFixedSizeDialogHint)MainWindow.resize(485, 280)self.centralwidget = QtWidgets.QWidget(MainWindow)self.centralwidget.setObjectName("centralwidget")self.label = QtWidgets.QLabel(self.centralwidget)self.label.setGeometry(QtCore.QRect(0, 0, 261, 281))self.label.setPixmap(QtGui.QPixmap(":/newPrefix/images/loginPIC.jpg"))self.label.setObjectName("label")self.label_user = QtWidgets.QLabel(self.centralwidget)self.label_user.setGeometry(QtCore.QRect(270, 70, 72, 41))self.label_user.setObjectName("label_2")self.label_pwd = QtWidgets.QLabel(self.centralwidget)self.label_pwd.setGeometry(QtCore.QRect(270, 130, 72, 21))self.label_pwd.setObjectName("label_3")self.lineEdit_userName = QtWidgets.QLineEdit(self.centralwidget)self.lineEdit_userName.setGeometry(QtCore.QRect(330, 80, 113, 21))self.lineEdit_userName.setObjectName("lineEdit")self.lineEdit_userPasswd = QtWidgets.QLineEdit(self.centralwidget)self.lineEdit_userPasswd.setGeometry(QtCore.QRect(330, 130, 113, 21))self.lineEdit_userPasswd.setObjectName("lineEdit_2")self.lineEdit_userPasswd.setEchoMode(QtWidgets.QLineEdit.Password)self.pushButton_login = QtWidgets.QPushButton(self.centralwidget)self.pushButton_login.setGeometry(QtCore.QRect(290, 190, 61, 28))self.pushButton_login.setObjectName("pushButton")self.pushButton_exit = QtWidgets.QPushButton(self.centralwidget)self.pushButton_exit.setGeometry(QtCore.QRect(370, 190, 61, 28))self.pushButton_exit.setObjectName("pushButton_2")MainWindow.setCentralWidget(self.centralwidget)self.retranslateUi(MainWindow)QtCore.QMetaObject.connectSlotsByName(MainWindow)self.pushButton_exit.clicked.connect(MainWindow.close)  # 关闭登录窗体self.pushButton_login.clicked.connect(self.openMain)   #登录def openMain(self):dataBase.userName = self.lineEdit_userName.text()userPasswd = self.lineEdit_userPasswd.text()if dataBase.userName and userPasswd:result = dataBase.query("select * from goods_user where userName = %s and userPasswd = %s", dataBase.userName, userPasswd)if len(result) > 0:self.main_window = QtWidgets.QMainWindow()self.main_ui = main.Ui_MainWindow()self.main_ui.setupUi(self.main_window)self.main_window.show()MainWindow.hide()else:self.lineEdit_userName.setText("")self.lineEdit_userPasswd.setText("")QMessageBox.warning(None, '警告', '请输入正确的用户名和密码!', QMessageBox.Ok)else:QMessageBox.warning(None, '警告', '请输入用户名和密码!', QMessageBox.Ok)def retranslateUi(self, MainWindow):_translate = QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate("MainWindow", "二手商品信息管理平台登录"))self.label_user.setText(_translate("MainWindow", "用户名:"))self.label_pwd.setText(_translate("MainWindow", "密  码:"))self.pushButton_login.setText(_translate("MainWindow", "登录"))self.pushButton_exit.setText(_translate("MainWindow", "退出"))import img_rc
import sysif __name__ == '__main__':app = QtWidgets.QApplication(sys.argv)MainWindow = QtWidgets.QMainWindow()ui = Ui_MainWindow()ui.setupUi(MainWindow)MainWindow.show()sys.exit(app.exec_())

main.py

#login.py
from PyQt5 import QtCore, QtGui, QtWidgets
import dataBase
from PyQt5.QtWidgets import QMessageBox
import main
from PyQt5.QtWidgets import *class Ui_MainWindow(object):def setupUi(self, MainWindow):MainWindow.setObjectName("MainWindow")MainWindow.setWindowFlags(QtCore.Qt.MSWindowsFixedSizeDialogHint)MainWindow.resize(485, 280)self.centralwidget = QtWidgets.QWidget(MainWindow)self.centralwidget.setObjectName("centralwidget")self.label = QtWidgets.QLabel(self.centralwidget)self.label.setGeometry(QtCore.QRect(0, 0, 261, 281))self.label.setPixmap(QtGui.QPixmap(":/newPrefix/images/loginPIC.jpg"))self.label.setObjectName("label")self.label_user = QtWidgets.QLabel(self.centralwidget)self.label_user.setGeometry(QtCore.QRect(270, 70, 72, 41))self.label_user.setObjectName("label_2")self.label_pwd = QtWidgets.QLabel(self.centralwidget)self.label_pwd.setGeometry(QtCore.QRect(270, 130, 72, 21))self.label_pwd.setObjectName("label_3")self.lineEdit_userName = QtWidgets.QLineEdit(self.centralwidget)self.lineEdit_userName.setGeometry(QtCore.QRect(330, 80, 113, 21))self.lineEdit_userName.setObjectName("lineEdit")self.lineEdit_userPasswd = QtWidgets.QLineEdit(self.centralwidget)self.lineEdit_userPasswd.setGeometry(QtCore.QRect(330, 130, 113, 21))self.lineEdit_userPasswd.setObjectName("lineEdit_2")self.lineEdit_userPasswd.setEchoMode(QtWidgets.QLineEdit.Password)self.pushButton_login = QtWidgets.QPushButton(self.centralwidget)self.pushButton_login.setGeometry(QtCore.QRect(290, 190, 61, 28))self.pushButton_login.setObjectName("pushButton")self.pushButton_exit = QtWidgets.QPushButton(self.centralwidget)self.pushButton_exit.setGeometry(QtCore.QRect(370, 190, 61, 28))self.pushButton_exit.setObjectName("pushButton_2")MainWindow.setCentralWidget(self.centralwidget)self.retranslateUi(MainWindow)QtCore.QMetaObject.connectSlotsByName(MainWindow)self.pushButton_exit.clicked.connect(MainWindow.close)  # 关闭登录窗体self.pushButton_login.clicked.connect(self.openMain)   #登录def openMain(self):dataBase.userName = self.lineEdit_userName.text()userPasswd = self.lineEdit_userPasswd.text()if dataBase.userName and userPasswd:result = dataBase.query("select * from goods_user where userName = %s and userPasswd = %s", dataBase.userName, userPasswd)if len(result) > 0:self.main_window = QtWidgets.QMainWindow()self.main_ui = main.Ui_MainWindow()self.main_ui.setupUi(self.main_window)self.main_window.show()MainWindow.hide()else:self.lineEdit_userName.setText("")self.lineEdit_userPasswd.setText("")QMessageBox.warning(None, '警告', '请输入正确的用户名和密码!', QMessageBox.Ok)else:QMessageBox.warning(None, '警告', '请输入用户名和密码!', QMessageBox.Ok)def retranslateUi(self, MainWindow):_translate = QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate("MainWindow", "二手商品信息管理平台登录"))self.label_user.setText(_translate("MainWindow", "用户名:"))self.label_pwd.setText(_translate("MainWindow", "密  码:"))self.pushButton_login.setText(_translate("MainWindow", "登录"))self.pushButton_exit.setText(_translate("MainWindow", "退出"))import img_rc
import sysif __name__ == '__main__':app = QtWidgets.QApplication(sys.argv)MainWindow = QtWidgets.QMainWindow()ui = Ui_MainWindow()ui.setupUi(MainWindow)MainWindow.show()sys.exit(app.exec_())

user.py

#user.py
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QMessageBox, QTableWidgetItem, QMainWindowimport dataBaseclass Ui_MainWindow(QMainWindow):# 构造方法def __init__(self):super(Ui_MainWindow, self).__init__()self.setWindowFlags(QtCore.Qt.MSWindowsFixedSizeDialogHint)  # 只显示最小化和关闭按钮self.setupUi(self) # 初始化窗体设置def setupUi(self, MainWindow):MainWindow.setObjectName("MainWindow")MainWindow.resize(546, 423)self.centralwidget = QtWidgets.QWidget(MainWindow)self.centralwidget.setObjectName("centralwidget")self.tableinfo = QtWidgets.QTableWidget(self.centralwidget)self.tableinfo.setGeometry(QtCore.QRect(0, 0, 400, 420))self.tableinfo.setObjectName("tableWidget")self.tableinfo.setColumnCount(2)self.tableinfo.setRowCount(0)item = QtWidgets.QTableWidgetItem()item.setTextAlignment(QtCore.Qt.AlignCenter)self.tableinfo.setHorizontalHeaderItem(0, item)item = QtWidgets.QTableWidgetItem()item.setTextAlignment(QtCore.Qt.AlignCenter)self.tableinfo.setHorizontalHeaderItem(1, item)self.tableinfo.setColumnWidth(0, 195)# 调整第一列(索引0)的宽度到特定宽度self.tableinfo.setColumnWidth(1, 195)# 调整第二列(索引1)的宽度到特定宽度self.tableinfo.horizontalHeader().setSectionResizeMode(QtWidgets.QHeaderView.Stretch)#表格列将根据窗口大小自动调整宽度,以填充整个表格而不会出现水平滚动条。self.pushButton_add = QtWidgets.QPushButton(self.centralwidget)self.pushButton_add.setGeometry(QtCore.QRect(440, 180, 61, 31))self.pushButton_add.setObjectName("pushButton")self.label = QtWidgets.QLabel(self.centralwidget)self.label.setGeometry(QtCore.QRect(400, 110, 61, 21))self.label.setObjectName("label")self.lineEdit_userName = QtWidgets.QLineEdit(self.centralwidget)self.lineEdit_userName.setGeometry(QtCore.QRect(460, 110, 71, 21))self.lineEdit_userName.setObjectName("lineEdit")self.label_2 = QtWidgets.QLabel(self.centralwidget)self.label_2.setGeometry(QtCore.QRect(410, 140, 51, 20))self.label_2.setObjectName("label_2")self.lineEdit_passwd = QtWidgets.QLineEdit(self.centralwidget)self.lineEdit_passwd.setGeometry(QtCore.QRect(460, 140, 71, 21))self.lineEdit_passwd.setObjectName("lineEdit_2")self.pushButton_edit = QtWidgets.QPushButton(self.centralwidget)self.pushButton_edit.setGeometry(QtCore.QRect(440, 230, 61, 31))self.pushButton_edit.setObjectName("pushButton_2")self.pushButton_del = QtWidgets.QPushButton(self.centralwidget)self.pushButton_del.setGeometry(QtCore.QRect(440, 270, 61, 31))self.pushButton_del.setObjectName("pushButton_3")MainWindow.setCentralWidget(self.centralwidget)self.retranslateUi(MainWindow)QtCore.QMetaObject.connectSlotsByName(MainWindow)self.tableinfo.setAlternatingRowColors(True)  # 使表格颜色交错显示self.tableinfo.verticalHeader().setVisible(False)  # 隐藏垂直标题self.query() # 窗体加载时显示所有数据self.tableinfo.itemClicked.connect(self.getItem) # 获取选中的单元格数据self.pushButton_add.clicked.connect(self.add)self.pushButton_edit.clicked.connect(self.edit) # 绑定修改按钮的单击信号self.pushButton_del.clicked.connect(self.delete) # 绑定删除按钮的单击信号def query(self):self.tableinfo.setRowCount(0) # 清空表格中的所有行result = dataBase.query("select * from goods_user") # 调用服务类中的公共方法执行查询语句row = len(result)  # 取得记录个数,用于设置表格的行数self.tableinfo.setRowCount(row)  # 设置表格行数self.tableinfo.setColumnCount(2)  # 设置表格列数for i in range(row):  # 遍历行for j in range(self.tableinfo.columnCount()):  # 遍历列data = QTableWidgetItem(str(result[i][j]))  # 转换后可插入表格data.setFlags(data.flags() & ~QtCore.Qt.ItemIsEditable)  # 设置单元格为只读self.tableinfo.setItem(i, j, data) # 设置每个单元格的数据def getItem(self, item):if item.column() == 0:  # 如果点击的是第一列self.select1 = item.text()  # 获取点击单元格的文本row = item.row()  # 获取点击单元格所在的行item2 = self.tableinfo.item(row, 1)  # 获取同一行第二列的项if item2 is not None:self.select2 = item2.text()self.lineEdit_userName.setText(self.select1)  # 显示在用户名文本框中self.lineEdit_passwd.setText(self.select2)  # 显示在密码文本框中if item.column() == 1:self.select2 = item.text()row = item.row()item1 = self.tableinfo.item(row, 0)if item1 is not None:self.select1 = item1.text()self.lineEdit_userName.setText(self.select1)self.lineEdit_passwd.setText(self.select2)def add(self):userName = self.lineEdit_userName.text() # 记录输入的用户名userPwd = self.lineEdit_passwd.text() # 记录输入的用户密码if userName != "" and userPwd != "": # 判断用户名和密码不为空# 执行添加语句result=dataBase.exec("insert into goods_user(userName,userPasswd) values (%s,%s)",(userName,userPwd))if result>0:  # 如果结果大于0,说明添加成功self.query() # 在表格中显示最新数据QMessageBox.information(None, '提示', '信息添加成功!', QMessageBox.Ok)else:QMessageBox.warning(None, '警告', '请输入数据后,再执行相关操作!', QMessageBox.Ok)def edit(self):try:if self.select1!="": # 判断是否选择了要修改的数据userPwd = self.lineEdit_passwd.text() # 记录修改的用户密码if userPwd != "": # 判断密码不为空# 执行修改操作result=dataBase.exec("update goods_user set userPasswd= %s where userName=%s",(userPwd,self.select1))if result>0: # 如果结果大于0,说明修改成功self.query() # 在表格中显示最新数据QMessageBox.information(None, '提示', '信息修改成功!', QMessageBox.Ok)except:QMessageBox.warning(None, '警告', '请先选择要修改的数据!', QMessageBox.Ok)def delete(self):try:if self.select1!="": # 判断是否选择了要删除的数据# 执行删除操作result=dataBase.exec("delete from goods_user where userName= %s",(self.select1,))if result>0: # 如果结果大于0,说明删除成功self.query() # 在表格中显示最新数据QMessageBox.information(None, '提示', '信息删除成功!', QMessageBox.Ok)except:QMessageBox.warning(None, '警告', '请先选择要删除的数据!', QMessageBox.Ok)def retranslateUi(self, MainWindow):_translate = QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate("MainWindow", "账号密码设置"))item = self.tableinfo.horizontalHeaderItem(0)item.setText(_translate("MainWindow", "用户名"))item = self.tableinfo.horizontalHeaderItem(1)item.setText(_translate("MainWindow", "密码"))self.pushButton_add.setText(_translate("MainWindow", "添加"))self.label.setText(_translate("MainWindow", " 用 户:"))self.label_2.setText(_translate("MainWindow", "密 码:"))self.pushButton_edit.setText(_translate("MainWindow", "修改"))self.pushButton_del.setText(_translate("MainWindow", "删除"))


文章转载自:
http://dinncothwart.ydfr.cn
http://dinncounused.ydfr.cn
http://dinncowpi.ydfr.cn
http://dinncohardware.ydfr.cn
http://dinncoinweave.ydfr.cn
http://dinncohyposensitize.ydfr.cn
http://dinncoden.ydfr.cn
http://dinncopanderess.ydfr.cn
http://dinncouppie.ydfr.cn
http://dinncohalling.ydfr.cn
http://dinncosake.ydfr.cn
http://dinncounendurable.ydfr.cn
http://dinncoalgesimeter.ydfr.cn
http://dinncosatrap.ydfr.cn
http://dinncomakah.ydfr.cn
http://dinncoflagellated.ydfr.cn
http://dinncosiphunculate.ydfr.cn
http://dinncogracias.ydfr.cn
http://dinncowake.ydfr.cn
http://dinncopurebred.ydfr.cn
http://dinncocurrent.ydfr.cn
http://dinncoimmunization.ydfr.cn
http://dinncogazingstock.ydfr.cn
http://dinncoashlared.ydfr.cn
http://dinncogunnage.ydfr.cn
http://dinncozeatin.ydfr.cn
http://dinncomartha.ydfr.cn
http://dinncoprefixal.ydfr.cn
http://dinncoparticularism.ydfr.cn
http://dinncoaliturgical.ydfr.cn
http://dinncopolyploid.ydfr.cn
http://dinncoreptiliary.ydfr.cn
http://dinncounderdiagnosis.ydfr.cn
http://dinncoouagadougou.ydfr.cn
http://dinncoincalculability.ydfr.cn
http://dinncowinchman.ydfr.cn
http://dinncofroe.ydfr.cn
http://dinncospun.ydfr.cn
http://dinncoplastogene.ydfr.cn
http://dinncooutvie.ydfr.cn
http://dinncogorilloid.ydfr.cn
http://dinncodorset.ydfr.cn
http://dinncotitillation.ydfr.cn
http://dinncodamfool.ydfr.cn
http://dinncooaken.ydfr.cn
http://dinncocablecast.ydfr.cn
http://dinncotelephonograph.ydfr.cn
http://dinncotumidity.ydfr.cn
http://dinncorabi.ydfr.cn
http://dinncomonteverdian.ydfr.cn
http://dinncojcc.ydfr.cn
http://dinncoprintery.ydfr.cn
http://dinncospikenard.ydfr.cn
http://dinncounperceivable.ydfr.cn
http://dinncoligamental.ydfr.cn
http://dinncobratwurst.ydfr.cn
http://dinncoflambeau.ydfr.cn
http://dinncoconchoid.ydfr.cn
http://dinncokioto.ydfr.cn
http://dinncoplacentate.ydfr.cn
http://dinncoinstable.ydfr.cn
http://dinncofastball.ydfr.cn
http://dinncoretune.ydfr.cn
http://dinncocityscape.ydfr.cn
http://dinncosynonymist.ydfr.cn
http://dinnconanoatom.ydfr.cn
http://dinncosuperstrength.ydfr.cn
http://dinncointel.ydfr.cn
http://dinncounphysiologic.ydfr.cn
http://dinncotereus.ydfr.cn
http://dinncoblewits.ydfr.cn
http://dinncourethroscopy.ydfr.cn
http://dinncokangting.ydfr.cn
http://dinncopolariscope.ydfr.cn
http://dinncowaxy.ydfr.cn
http://dinncoweeksite.ydfr.cn
http://dinncocoring.ydfr.cn
http://dinncodescend.ydfr.cn
http://dinncosirenian.ydfr.cn
http://dinncorostrated.ydfr.cn
http://dinncosellout.ydfr.cn
http://dinncotennis.ydfr.cn
http://dinncosherris.ydfr.cn
http://dinncofunctionalist.ydfr.cn
http://dinncoparlance.ydfr.cn
http://dinncobnoc.ydfr.cn
http://dinncocentripetence.ydfr.cn
http://dinncoseething.ydfr.cn
http://dinncocycloheximide.ydfr.cn
http://dinncoglomera.ydfr.cn
http://dinncoentozoan.ydfr.cn
http://dinncodanmark.ydfr.cn
http://dinncohelicoidal.ydfr.cn
http://dinncooleoresin.ydfr.cn
http://dinncoprotractor.ydfr.cn
http://dinncoilluminometer.ydfr.cn
http://dinncoworrywart.ydfr.cn
http://dinncochiv.ydfr.cn
http://dinncomysid.ydfr.cn
http://dinncohuskily.ydfr.cn
http://www.dinnco.com/news/141130.html

相关文章:

  • 寻找石家庄网站建设青岛seo结算
  • 网站开发外包方案seo实战培训班
  • 大雄wordpressseo咨询
  • 天津专业网站建设公司网站推广软件免费观看
  • 照片做视频的软件 模板下载网站seo研究中心学员案例
  • 大学学风建设专题网站杭州推广公司
  • 聊天软件出售长沙有实力的关键词优化价格
  • 房产信息门户网站建设方案业务多平台怎么样
  • 有哪些好的网站直通车怎么开
  • 唐山做网站价格搜索引擎排行榜前十名
  • 新加坡注册公司吉安seo网站快速排名
  • 网站设计用的技术自创网站
  • 天津建设工程seo平台优化服务
  • 建设银行网站的特点优势近期国内新闻摘抄
  • 制作网站的专业公司哪家好bt磁力王
  • 桂林骏程网站建设搜索引擎广告优化
  • 购物网站开发背景及意义网站怎么制作
  • 宁波建网站哪家好营销策划公司名字
  • 网站群信息管理系统郑州中原区最新消息
  • 社保网站是每月1-6号都是在建设中的吗企业官网
  • 杭州置地电商基地网站建设百度一下照片识别
  • 技术支持 东莞网站建设母婴护理网络营销的概念及内容
  • 建设银行的社会招聘网站seo网站外包公司
  • 解释seo网站推广seo推广绩效考核指标是什么
  • 做网站后期费用软文写作技巧有哪些
  • 南通装修网站大全网络营销方式对比分析
  • 杭州建设局网站首页发帖子最好的几个网站
  • 狗狗和人做网站关键词优化公司哪家推广
  • 有没有傻瓜式建设网站青岛seo整站优化公司
  • 无锡外贸网站制作seo排名优化的方法