pyqt5_站点管理_db_windows

from PyQt5.QtWidgets import QWidget,QLabel,QLineEdit,QGroupBox,QGridLayout,QVBoxLayout,QPushButton,QMessageBox
import 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,‘提示‘,‘保存信息成功.‘)
时间: 2024-08-13 08:51:25

pyqt5_站点管理_db_windows的相关文章

pyqt5_站点管理_WaterClient_1

主界面: *程序中有错误,过段时间再回头修改. from PyQt5.QtWidgets import QApplication,QWidget,QStatusBar,QTabWidget,QVBoxLayout from PyQt5.QtGui import QIcon,QPalette,QBrush,QPixmap from PyQt5.QtCore import QTimer import sys,os,time,datetime,smtplib,pickle,pymssql import

pyqt5_站点管理_stcd_windows

from PyQt5.QtWidgets import (QWidget,QTableWidget,QHBoxLayout,QVBoxLayout,QGridLayout,QGroupBox,QLineEdit,QLabel,QPushButton,                              QHeaderView,QTableWidgetItem,QMessageBox) import os,re #定义站点信息窗口 class stcd_window(QWidget):   

pyqt5_站点管理_email_windows

from PyQt5.QtWidgets import QWidget,QLineEdit,QLabel,QPushButton,QGridLayout,QHBoxLayout,QGroupBox,QComboBox,QMessageBox import pickle,smtplib,os from email import encoders from email.header import Header from email.utils import parseaddr,formataddr

django站点管理

一.启动django站点管理功能 1.关于django.contrib包   包含了django自带的众多附加组件,主要包括:   1)管理工具: django.contrib.admin   2)用户鉴别系统:django.contrib.auth   3)支持匿名会话:django.contrib.sessions   4)用户评注系统:django.contrib.comments 2.settings.py中启动管理工具所需要的包 INSTALLED_APPS = ( 'django.c

PHPWAMP站点管理的“域名模式”和“端口模式”详解、均支持自定义

友情提示:在服务器使用PHPWAMP,环境设置完毕后请关闭phpwamp软件,PHPWAMP分为软件界面运行和服务运行,需要操作环境时才打开PHPWAMP软件界面,平时可以全程关闭软件,phpwamp网站环境一旦正常运行,就没有必要打开phpwamp了,建议关掉phpwamp节省内存(其他一切不需要的程序也全部关掉节省内存),剩下的就交由phpwamp服务去维持环境的运行,重启服务器也会自动运行网站,无需其他设置. 如果你想使用Apache服务器,建议优先使用Apache2.4站点管理,不推荐A

Python脚本之django---mysql-记录主机性能数据到数据库-web站点管理数据库及web显示命令执行结果

##############################################################环境 [[email protected] python]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.4 (Santiago) You have new mail in /var/spool/mail/root [[email protected] python]# python -

6Python全站之路系列之Django站点管理

Python全栈之路系列之Django站点管理 站点管理也称之为后台,比如说博客的后台你可以发布文章,修改文章,修改频道等信息. Django使用极少的代码为你做了一切,在Django中创建管理界面已经不是问题,它读取你模式中的元数据,然后提供给你一个强大而且可以使用的界面,网站管理者可以用它立即工作. django.contrib包 Django自动管理工具是django.contrib的一部分.django.contrib是一套庞大的功能集,它是Django基本代码的组成部分,Django框

开源 java CMS - FreeCMS2.2 站点管理

项目地址:http://www.freeteam.cn/ 站点管理 FreeCMS支持网站群模式,并支持无限树级管理. 站点的相关文件在site目录下,每个站点有自己的文件夹,源文件目录名就是自己的文件夹名称. 1. 添加一级站点 从左侧管理菜单点击站点管理进入. 点击"添加根站点" 输入相关属性点击"保存"即可. 如果您选择的页面模板有初始化数据,系统会提示是否使用模板的初始化数据对站点进行初始化,推荐选择是. 2. 编辑站点 选择需要编辑的站点,如"t

xadmin站点管理类

9. Xadmin xadmin是Django的第三方扩展,比使用Django的admin站点更强大也更方便. 文档:https://xadmin.readthedocs.io/en/latest/index.html 9.1. 安装 通过如下命令安装xadmin的最新版 pip install https://codeload.github.com/sshwsfc/xadmin/zip/django2 在配置文件中注册如下应用 INSTALLED_APPS = [   ...    'xadm