这是我测试自身python和mysql所做的小demo。
实现的功能
- 查看所有留言 (编辑、删除)
- 发送留言
准备环境
PyCharm、Mysql
python3.6、pyqt5、pymysql (3.X版本好像不能使用mySQLdb)
这些都在百度上能够下载得到,就不提供了,但是要安装匹配自己计算机的位数。我是在Win10 64位上进行编写的…
界面制作
这里我先用QT5进行布局,仅需MainWindws和Dialog就够了
管理器界面 tableWeight、pushButton*4
留言界面 Label*3、LineEdit*2、PlaniTextEdit、DialogButton
因为发布和修改功能类似所以这里我就偷懒了,这边编写后保存成 comments.ui、commont.ui 文件然后使用pyuic命令转换为python代码
代码编写
这时候我们已经拥有comments.py、commont.py了,再创建 main.py、sql.py (by:当时命名很随意 笑)
#sql.py
import pymysql;
mysql = None;
class SQLdata():
sql=None;
def __init__(self):
self.sql=None;
def connect(self): #给我工厂模式的感觉
try:
self.sql=pymysql.connect(host="127.0.0.1",port=3306,user="root",passwd="",db="blog");
except:
print("error:连接数据库失败!")
return None;
return self.sql;
def close(self):
self.sql.colose();
self.sql=None;
if(mysql==None): #实际上我也不知道python的单例是不是这么写,真丑 笑
mysql = SQLdata();
def getMySql():
return mysql;
下面是main.py的编写
#main.py
import comments; #管理界面
import comment; #发布修改界面
import sql; #自己编写的sql类
import sys;
from PyQt5 import QtCore, QtGui, QtWidgets;
from PyQt5.QtWidgets import QApplication, QMainWindow
if __name__ == '__main__':
app = QApplication(sys.argv);
MainWindow = QMainWindow (); #实例一个QMainWindow
ui=comments.Ui_mainWindow(); #这里使用了comments里的Ui_mainWindow类
ui.setupUi(MainWindow); #把实例的MainWindow传参进去,进行属性设置..
mySql = sql.getMySql().connect(); #实例自己编写的sql链接类
if(mySql):
mySql.close();
else:
QtWidgets.QMessageBox.information(None,"提示:&