pyqt5_站点管理_db_windows
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,from PyQt5.QtWidgets import QWidget,QLabel,QLineEdit,QGroupBox,QGridLayout,QVBoxLayout,QPushButton,Q
千家信息网最后更新 2025年11月07日pyqt5_站点管理_db_windows
from PyQt5.QtWidgets import QWidget,QLabel,QLineEdit,QGroupBox,QGridLayout,QVBoxLayout,QPushButton,QMessageBoximport pickle,pymssql,os,threading,time#定义数据库窗口class db_window(QWidget): def __init__(self): super().__init__() self.db_server = QLineEdit() self.db_port = QLineEdit() self.db_user = QLineEdit() self.db_password = QLineEdit() self.dir_db = {} #初始化数据库链接信息 self.db_test_flag = -1 self.dir_test_db = {} self.initUI() self.initDB() def initUI(self): #初始化页面 db_server_label = QLabel('数据库地址:') db_port_label = QLabel('端口:') db_user_label = QLabel('数据库账号:') db_password_label = QLabel('数据库密码:') self.db_password.setEchoMode(QLineEdit.Password) db_test_button = QPushButton('测试数据库链接') db_input_button = QPushButton('保存数据库链接') db_test_button.clicked.connect(self.test_db) db_input_button.clicked.connect(self.save_db) db_dbinfo_group = QGroupBox('MSSQL数据库') db_mssql_grid = QGridLayout() db_mssql_grid.addWidget(db_server_label,0,0) db_mssql_grid.addWidget(db_port_label,0,1) db_mssql_grid.addWidget(db_user_label,0,2) db_mssql_grid.addWidget(db_password_label,0,3) db_mssql_grid.addWidget(db_test_button,0,4) db_mssql_grid.addWidget(self.db_server,1,0) db_mssql_grid.addWidget(self.db_port,1,1) db_mssql_grid.addWidget(self.db_user,1,2) db_mssql_grid.addWidget(self.db_password,1,3) db_mssql_grid.addWidget(db_input_button,1,4) db_dbinfo_group.setLayout(db_mssql_grid) vbox = QVBoxLayout() vbox.addWidget(db_dbinfo_group) self.test_label = QLabel('') vbox.addWidget(self.test_label) vbox.setStretchFactor(db_dbinfo_group,3) vbox.setStretchFactor(self.test_label,7) self.setLayout(vbox) #初始化数据库链接信息 def initDB(self): try: if os.path.exists('.//DATA//DBinfo.pik'): with open('.//DATA//DBinfo.pik','rb') as db_file: self.dir_db = pickle.load(db_file) for line in self.dir_db.keys(): if line == 'server': self.db_server.setText(self.dir_db['server']) elif line == 'port': self.db_port.setText(str(self.dir_db['port'])) elif line == 'user': self.db_user.setText(self.dir_db['user']) elif line == 'password': self.db_password.setText(self.dir_db['password']) except Exception as error: return #数据库测试按钮 def test_db(self): self.dir_test_db.clear() if self.db_server.text().strip() != '': self.dir_test_db['server'] = self.db_server.text().strip() if self.db_port.text().strip() != '': try: port = int(self.db_port.text().strip()) except Exception as error: QMessageBox.warning(self,'端口错误','服务器端口是数字,您输入错误.') return self.dir_test_db['port'] = port if self.db_user.text().strip() != '': self.dir_test_db['user'] = self.db_user.text().strip() if self.db_password.text().strip() != '': self.dir_test_db['password'] = self.db_password.text().strip() try: conn = pymssql.connect(**self.dir_test_db) except Exception as error: QMessageBox.warning(self,'错误','无法链接数据库.') return self.test_label.setText('') QMessageBox.about(self,'链接成功','成功链接数据库.') self.db_test_flag = 1 conn.close() #数据库保存按钮 def save_db(self): if self.db_test_flag < 0: QMessageBox.warning(self,'提示','保存数据库信息之前,需要先测试数据库链接.\n数据库链接正常之后,才能保存信息.') return self.dir_db = self.dir_test_db.copy() with open('.//DATA//DBinfo.pik','wb') as db_file: pickle.dump(self.dir_db, db_file) self.db_test_flag = -1 QMessageBox.about(self,'提示','保存信息成功.')
数据
数据库
链接
信息
成功
端口
错误
测试
按钮
提示
地址
密码
数字
服务器
账号
页面
服务
输入
站点
站点管理
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
sql如何另存数据库
微软服务器原因
全方位信息及网络安全解决方案
NBA1718数据库
服务器文件泄露原理
二本计算机网络技术
数据库 设备管理系统
华为五g网络技术
语音会议软件开发有多少
网络安全保密图板
示波器软件开发
上海良将网络技术
数据库中通常包括三类文件
济宁软件开发哪家靠谱
数据库子分类
网络安全的研究和设计成果
马来西亚网络安全概念股
HELLO语音软件开发
前端软件开发和后端
管理linux服务器的用户
河南质量工程职业学院网络技术
数据库 设备管理系统
怎么在数据库模拟大量数据
所称网络安全
tbc哪个数据库好用
邯郸顺通软件开发公司
数据库运行和维护撰写报告
专业学习网络安全技术的网站
cas上服务器忘记密码
数据库有多少个约束