手把手教你开发Python桌面应用-PyQt6图书管理系统-主界面UI设计实现

锋哥原创的PyQt6图书管理系统视频教程:

PyQt6图书管理系统视频教程 Python桌面开发 Python入门级项目实战 (无废话版) 火爆连载更新中~_哔哩哔哩_bilibiliPyQt6图书管理系统视频教程 Python桌面开发 Python入门级项目实战 (无废话版) 火爆连载更新中~共计24条视频,包括:PyQt6图书管理系统视频教程 Python桌面开发 Python入门级项目实战 (无废话版) 火爆连载更新中~、第2讲 登录功能UI设计实现、第3讲 数据库操作工具包dbUtil.py封装等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV18t4y1R7Qp/因为主界面是需要菜单和状态栏的,所以我们新建的时候,选Main Window

设计菜单:

菜单三个主菜单,分别是 图书管理,图书类别管理,系统设置。

图书管理下面有 图书添加 图书信息管理 子菜单

图书类别管理下面有 图书类别添加 图书类别信息管理 子菜单

系统设置下面有 修改密码 安全退出 | 关于作者 锋哥招收Python学员啦 子菜单

我们把设计好的“主界面”UI文件,用PyUIC,转换成Python文件。

# Form implementation generated from reading ui file '主界面.ui'
#
# Created by: PyQt6 UI code generator 6.4.2
#
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
# run again.  Do not edit this file unless you know what you are doing.


from PyQt6 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1420, 1148)
        MainWindow.setAcceptDrops(False)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("../images/logo.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
        MainWindow.setWindowIcon(icon)
        self.centralwidget = QtWidgets.QWidget(parent=MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(parent=MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 1420, 21))
        self.menubar.setObjectName("menubar")
        self.menu = QtWidgets.QMenu(parent=self.menubar)
        self.menu.setObjectName("menu")
        self.menu_2 = QtWidgets.QMenu(parent=self.menubar)
        self.menu_2.setObjectName("menu_2")
        self.menu_3 = QtWidgets.QMenu(parent=self.menubar)
        self.menu_3.setObjectName("menu_3")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(parent=MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.action = QtGui.QAction(parent=MainWindow)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap("../images/add.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
        self.action.setIcon(icon1)
        self.action.setObjectName("action")
        self.action_2 = QtGui.QAction(parent=MainWindow)
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap("../images/bookManager.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
        self.action_2.setIcon(icon2)
        self.action_2.setObjectName("action_2")
        self.action_3 = QtGui.QAction(parent=MainWindow)
        self.action_3.setIcon(icon1)
        self.action_3.setObjectName("action_3")
        self.action_4 = QtGui.QAction(parent=MainWindow)
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap("../images/bookTypeManager.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
        self.action_4.setIcon(icon3)
        self.action_4.setObjectName("action_4")
        self.action_5 = QtGui.QAction(parent=MainWindow)
        icon4 = QtGui.QIcon()
        icon4.addPixmap(QtGui.QPixmap("../images/password.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
        self.action_5.setIcon(icon4)
        self.action_5.setObjectName("action_5")
        self.action_6 = QtGui.QAction(parent=MainWindow)
        icon5 = QtGui.QIcon()
        icon5.addPixmap(QtGui.QPixmap("../images/exit.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
        self.action_6.setIcon(icon5)
        self.action_6.setObjectName("action_6")
        self.action_8 = QtGui.QAction(parent=MainWindow)
        icon6 = QtGui.QIcon()
        icon6.addPixmap(QtGui.QPixmap("../images/about.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
        self.action_8.setIcon(icon6)
        self.action_8.setObjectName("action_8")
        self.action_Python = QtGui.QAction(parent=MainWindow)
        icon7 = QtGui.QIcon()
        icon7.addPixmap(QtGui.QPixmap("../images/me.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
        self.action_Python.setIcon(icon7)
        self.action_Python.setObjectName("action_Python")
        self.menu.addAction(self.action)
        self.menu.addAction(self.action_2)
        self.menu_2.addAction(self.action_3)
        self.menu_2.addAction(self.action_4)
        self.menu_3.addAction(self.action_5)
        self.menu_3.addAction(self.action_6)
        self.menu_3.addSeparator()
        self.menu_3.addAction(self.action_8)
        self.menu_3.addAction(self.action_Python)
        self.menubar.addAction(self.menu.menuAction())
        self.menubar.addAction(self.menu_2.menuAction())
        self.menubar.addAction(self.menu_3.menuAction())

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "图书管理系统"))
        self.menu.setTitle(_translate("MainWindow", "图书管理"))
        self.menu_2.setTitle(_translate("MainWindow", "图书类别管理"))
        self.menu_3.setTitle(_translate("MainWindow", "系统设置"))
        self.action.setText(_translate("MainWindow", "图书添加"))
        self.action_2.setText(_translate("MainWindow", "图书信息管理"))
        self.action_3.setText(_translate("MainWindow", "图书类别添加"))
        self.action_4.setText(_translate("MainWindow", "图书类别信息管理"))
        self.action_5.setText(_translate("MainWindow", "修改密码"))
        self.action_6.setText(_translate("MainWindow", "安全退出"))
        self.action_8.setText(_translate("MainWindow", "关于作者"))
        self.action_Python.setText(_translate("MainWindow", "锋哥招收Python学员啦"))

我们在项目目录下,新建main.py,作为主界面模块代码,然后把上面ui文件生成的代码贴到main.py里面去,我们进行二次开发。

为了让代码能运行起来,我们需要把类继承的Object改成QMainWindow

以及加下构造方法:

    # 构造方法
    def __init__(self):
        super(Ui_MainWindow, self).__init__()
        self.setWindowFlag(QtCore.Qt.WindowType.MSWindowsFixedSizeDialogHint)  # # 只显示最小化和关闭按钮
        self.setupUi(self)

和前面登录一样,这个图片路径也是要修改的。

最后再加一个Main方法:

if __name__ == '__main__':
    try:
        app = QApplication(sys.argv)
        main = Ui_MainWindow()
        main.show()
        sys.exit(app.exec())
    except Exception as e:
        print(e)

运行测试:

版权声明:本文为博主作者:java1234_小锋原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/caoli201314/article/details/136004849

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2024年5月6日
下一篇 2024年5月6日

相关推荐