用PyQt5开发桌面端数据库管理工具

UI部分由主要三个面板组成

  1. 数据操作面板:操作表中的具体数据
  2. 连接配置面板:配置数据库连接参数
  3. SQL转换面板:自动翻译SQL

 

主要使用PyQt5的以下组件开发

QWidget, QVBoxLayout, QHBoxLayout, QTextEdit, QStackedWidget, QPushButton, QLabel, QMenuBar, 
QAction, QStatusBar, QTableWidgetItem, QTreeWidget, QTreeWidgetItem, QMessageBox, QLineEdit, 
QComboBox, QIcon, QFont, QColor

展示UI部分代码

class Ui_MainWindow(object):
    def __init__(self):
        self.dbHandler = MyDBHandler()
        self.field_name_lst = None
        self.former_table_data = None
    def setup_UI(self, MainWindow):
        self.former_table_data = []
        self.currentTableData = []
        self.changedTableData = []
        # UI MainWindow
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 600)
        # center widgets
        self.mainWidget = QWidget(MainWindow)
        self.mainWidget.setFont(QFont("Roman times", 10.5))  ##设置字体
        self.mainWidget.setObjectName("mainWidget")
        MainWindow.setCentralWidget(self.mainWidget)
        self.centerLayout = QVBoxLayout(self.mainWidget)
        # 设置stacked widget
        self.stackedWidget = QStackedWidget(self.mainWidget)
        self.centerLayout.addWidget(self.stackedWidget)
        # 设置data page
        self.build_data_page()
        # layout不同的比例区分大小
        self.data_page_layout.setStretchFactor(self.dataPanel, 4)
        self.data_page_layout.setStretchFactor(self.treePanel, 1)
        # 设置login面板
        self.build_login_page()
        # 将三个面板,加入stackedWidget
        self.stackedWidget.addWidget(self.data_page)
        self.stackedWidget.addWidget(self.login_page)
        # menu
        self.build_menu_bar(MainWindow)
        # status bar
        self.statusbar = QStatusBar(MainWindow)
        self.statusbar.setObjectName("hard working")
        MainWindow.setStatusBar(self.statusbar)
        # 刷新
        self.retranslateUi(MainWindow)
        QMetaObject.connectSlotsByName(MainWindow)
        # refresh tree list
        self.dbHandler.config(None, None, None, None)
        self.paint_tree()

 

展示运行演示视频

 

工具操作演示视频前半部分

 

工具操作演示视频后半部分

 

未完待续

 

你可能感兴趣的:(造轮子)