qtdesigner-尝试连接数据库

本文详细介绍如何使用PyQt5创建数据库操作界面,包括登录、查询医生信息、挂号流程及异常处理,通过实例代码讲解PyQt5与数据库的集成。

参考教程:基于PyQt5的数据库可视化操作界面
在这里插入图片描述
MainWindow:生成的一个类,下面有setupUi和retranslateUi两个方法。
接下来是登录操作。教程中用的是pymssql,我们用pyodbc,目测应该差不多。

import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=localhost;DATABASE=register;UID=sa;PWD=gslsgsls')

教程上说:“本项目的意义在于简单的图像化操作代替数据库语言来实现数据的增删查改。考虑到绘制的问题,采用的简单的单一界面交互。对于多界面交互则需要绘制多个ui文件并在主程序中调用。”可见一个ui文件对应一个界面

现在我们开始读代码。
教程中的第一段代码是主程序。主程序很短,主要就是用来调用另一个文件的:

# HospitalRegSys0045.py
from PyQt5 import QtCore, QtGui, QtWidgets
from MainWindow import Ui_MainWindow
import decimal

class mwindow(QtWidgets.QMainWindow,Ui_MainWindow):
    def __init__(self):
        super(mwindow,self).__init__()
        self.setupUi(self)

if __name__=="__main__":
    import sys
    app=QtWidgets.QApplication(sys.argv)
    mshow=mwindow()
    mshow.show()
    sys.exit(app.exec_())

这个教程中主程序的写法和痞子衡嵌入式:超级好用的可视化PyQt GUI构建工具(Qt Designer)中基本一致,区别在于前者只是简单使用,估计把信号和槽放在窗口代码中了,后者把信号和槽放在主程序中。另外它import decimal好像是为了之后打包成exe用的。
第二段是主窗口代码。之后代码在上解释在下。

from PyQt5 import QtCore, QtGui, QtWidgets
import pymssql
import time

我们应该是import pyodbc而不是pymssql

i_id = int(time.time()%1000 - time.time()%100)*10   # 默认ID基于时间,并会自动在挂号后增加1
if i_id == 0:
    i_id == 1000                                    # 避开ID等于0的情况

logmsg = ''                                         # 用于保存Log

对保存log不太理解。i_id是随机生成的1-1000的整数。

class Ui_MainWindow(object):

    def setupUi(self, MainWindow):                  # 由UI文件自动生成,再将自定义connect信号
        # Designer自动生成的代码,见附录

自动生成的setupUi和retranslateUi都原封不动地保存。

    
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值