我的编程空间,编程开发者的网络收藏夹
学习永远不晚

pyqt5_站点管理_db_windows

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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,'提示','保存信息成功.')


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

pyqt5_站点管理_db_windows

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

jspXCMS站点怎么管理

这篇文章主要介绍“jspXCMS站点怎么管理”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“jspXCMS站点怎么管理”文章能帮助大家解决问题。Jspxcms支持多组织独立管理的站群,各个子站可以有自
2023-06-26

解锁网站管理新境界:多站点管理的艺术

多站点管理是网站管理的更高境界,它可以帮助企业和站长管理多个网站,并实现集中管理和高效运维。
解锁网站管理新境界:多站点管理的艺术
2024-02-03

多站点管理:轻松管理网站,释放数字潜力

多站点管理是一种强大的技术,允许您从一个中央位置管理多个网站。在本文中,我们将探讨多站点管理的优势,并提供一些关于如何实现它的建议。
多站点管理:轻松管理网站,释放数字潜力
2024-02-03

如何在DW CS6中新建站点并管理站点

这篇文章主要介绍“如何在DW CS6中新建站点并管理站点”,在日常操作中,相信很多人在如何在DW CS6中新建站点并管理站点问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何在DW CS6中新建站点并管理站点
2023-06-08

打造网站管理效率新体验:多站点管理的魅力

多站点管理系统提供集中管理多站点的方式,实现对站点内容、用户、权限和数据进行统一管理。它可以有效提高管理效率,降低管理成本,并增强网站安全性。 多站点管理系统,WordPress,多站点网络,多站点托管
打造网站管理效率新体验:多站点管理的魅力
2024-02-03

多站点管理:全面提升网站管理水平,开创新局面

多站点管理是一种先进的网站管理技术,它可以帮助网站管理员轻松管理多个网站,提高工作效率,开创网站管理的新局面。
多站点管理:全面提升网站管理水平,开创新局面
2024-02-03

多站点管理:打造高效网站管理流程,助力业务腾飞

本文概述:多站点管理是企业网站管理中的一项重要任务,旨在高效管理多个网站,确保其安全性和可用性。本文介绍了如何构建强大的多站点管理流程,以提高网站管理效率,助力业务腾飞。
多站点管理:打造高效网站管理流程,助力业务腾飞
2024-02-03

多站点管理:步入管理网站的新时代,成就事业辉煌

多站点管理是一种强大且高效的方法,可让您轻松地管理和控制多个网站。本文将介绍多站点管理的优势,并提供一个有关如何使用 WordPress 管理多个网站的示例。
多站点管理:步入管理网站的新时代,成就事业辉煌
2024-02-03

jspXCMS站点管理的方法是什么

这篇文章主要介绍“jspXCMS站点管理的方法是什么”,在日常操作中,相信很多人在jspXCMS站点管理的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jspXCMS站点管理的方法是什么”的疑惑有所
2023-06-26

多站点管理:解锁网站管理的新篇章,引领数字化变革

多站点管理作为一种先进的网站管理技术,通过集中化的控制,简化了多个网站的管理流程,优化了资源利用率,为企业带来了巨大的管理便利,并提升了数字化效率,助力企业迈向更高层次的发展。
多站点管理:解锁网站管理的新篇章,引领数字化变革
2024-02-03

多站点管理:掌控多重网站,纵横网络世界

多站点管理是一种可以同时管理多个网站的强大技术,它可以帮助企业和个人轻松管理多个网站,并提高网站的效率和安全性。
多站点管理:掌控多重网站,纵横网络世界
2024-02-03

phpStudy V8中创建与管理站点的实例

小编给大家分享一下phpStudy V8中创建与管理站点的实例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. 站点的创建选择[网站], 点击左上角的[创建网站
2023-06-07

多站点管理:简化多个网站运营的终极指南

多站点管理是一种强大的工具,可让您有效管理多个网站,简化运营流程,提高工作效率。
多站点管理:简化多个网站运营的终极指南
2024-02-03

Apache如何实现多站点的配置和管理

Apache可以利用VirtualHost来实现多站点的配置和管理。VirtualHost允许在同一台服务器上托管多个域名或站点,并为每个站点提供独立的配置。要配置VirtualHost,首先需要在Apache的配置文件中添加如下配置:
Apache如何实现多站点的配置和管理
2024-07-05

阿里云ECS单个站点日志解析及管理

随着云计算技术的快速发展,阿里云ECS(ElasticComputeService)已经成为众多企业的重要选择。然而,随着ECS的使用,单个站点日志的管理和解析也成为了企业面临的一大挑战。本篇文章将详细介绍如何通过阿里云的ECS服务,对单个站点的日志进行管理与解析。一、阿里云ECS的简介阿里云ECS是一款基于云计
阿里云ECS单个站点日志解析及管理
2023-12-17

多站点管理:让您的在线帝国井然有序

了解了多站点管理的利弊,该指南将介绍如何设置多站点网络并管理多个网站。
多站点管理:让您的在线帝国井然有序
2024-02-03

编程热搜

目录