• 完整数字华容道02:软件结构设计


    文章目录


    上一节已经将所有的页面样式都介绍了,本节将讲解软件架构的设计。

    本游戏以 MainForm(Qwidget)为载体进行开发,首页、游戏页面和排名查询都做成一个单独的 Layout ,各个页面的功能在文件内实现,MainForm 内实现各个页面的跳转和联结。要进入不同的功能页面,只需给 MainForm 设置不同的 Layout即可。

    保存游戏游戏结束为弹出的 Dialog。

    新建 NumberHuaRong.py 作为游戏的主体,其内容为:

    import sys
    from PyQt5.QtWidgets import QWidget, QApplication
    
    class MainForm(QWidget):
        '''游戏窗口'''
        def __init__(self):
            super(MainForm, self).__init__()
            self.initUI()
    
        def initUI(self):
            self.setFixedSize(400, 600)
            self.setWindowTitle('数字华容道')
            self.setStyleSheet("background-color:lightblue;")
            self.show()
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        mf = MainForm()
        sys.exit(app.exec_())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    MainForm 继承自 QWidget,上述代码设置了 MainForm的大小、标题和背景颜色,其运行结果如图所示:

    01.主窗体

    其他页面分别为:

    • 首页—————HomePage.py
    • 游戏页————GamePage.py
    • 排行榜————RankingPage.py

    注意要在同级目录下创建名为 _init_.py 的文件,这样 NumberHuaRong.py 才能引入其他页面。

  • 相关阅读:
    第9章Linux实操篇-组管理和权限管理
    SQL语句书写规范
    匿名类型与元组(ValueTuple)
    React - ref 命令为什么代替父子组件的数据传递
    C++ string类介绍以及模拟实现
    Linux学习之MySQL建表
    写JDBC遇到的问题
    C++ 两类头文件相互包含的解决方法
    Token身份验证
    Swarm集群负载均衡的实现方式
  • 原文地址:https://blog.csdn.net/yaoyefengchen/article/details/125490843