PyQt5大学课程表

简介: PyQt5大学课程表

闲来无事,暑假自学了PyQt5,在开学后用PyQt5做了一个简单的课程表,避免了每次都需要去教务看课表的麻烦。喜欢的可以支持一下。
b35527806a5a491fb8a2c71e96f67501.jpg

代码

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
class CourseTimetable(QMainWindow):
    def __init__(self):
        super(CourseTimetable, self).__init__()
        self.initUI()
    def initUI(self):
        self.setWindowTitle("Course")
        self.resize(560,950)
        '''布局'''
        widget = QWidget()
        grid = QGridLayout()
        '''头部'''
        name = QLabel('课程表')
        name.setStyleSheet('font-size:25px;')
        grid.addWidget(name,0,0,1,2)
        week = QPushButton('第一周')
        week.setIcon(QIcon('week.ico'))
        grid.addWidget(week,0,5,1,2)
        more = QPushButton()
        more.setIcon(QIcon('threepoint.ico'))
        grid.addWidget(more,0,7,1,1)
        '''课表框架'''
        label1 = QLabel('节次/时间')
        label1.setAlignment(Qt.AlignCenter)
        label1.setStyleSheet('background-color:Gainsboro;')
        grid.addWidget(label1, 1, 0, 1, 1)
        label2 = QLabel('星期一')
        label2.setAlignment(Qt.AlignCenter)
        label2.setStyleSheet('background-color:Gainsboro;')
        grid.addWidget(label2, 1, 1, 1, 1)
        label3 = QLabel('星期二')
        label3.setAlignment(Qt.AlignCenter)
        label3.setStyleSheet('background-color:Gainsboro;')
        grid.addWidget(label3, 1, 2, 1, 1)
        label4 = QLabel('星期三')
        label4.setAlignment(Qt.AlignCenter)
        label4.setStyleSheet('background-color:Gainsboro;')
        grid.addWidget(label4, 1, 3, 1, 1)
        label5 = QLabel('星期四')
        label5.setAlignment(Qt.AlignCenter)
        label5.setStyleSheet('background-color:Gainsboro;')
        grid.addWidget(label5, 1, 4, 1, 1)
        label6 = QLabel('星期五')
        label6.setAlignment(Qt.AlignCenter)
        label6.setStyleSheet('background-color:Gainsboro;')
        grid.addWidget(label6, 1, 5, 1, 1)
        label7 = QLabel('星期六')
        label7.setAlignment(Qt.AlignCenter)
        label7.setStyleSheet('background-color:Gainsboro;')
        grid.addWidget(label7, 1, 6, 1, 1)
        label8 = QLabel('星期日')
        label8.setAlignment(Qt.AlignCenter)
        label8.setStyleSheet('background-color:Gainsboro;')
        grid.addWidget(label8, 1, 7, 1, 1)
        label_12 = QLabel()
        label_12.setText(
            "<font style = 'font-size:15px;font-weight: bold;text-align:center;'>第一节</font>"
            "<br/>" "<br/>"
            "<font style = 'font-size:13px;'>08:15~09:00</font>"
            "<br/>""<br/>"
            "<font style = 'font-size:15px;font-weight: bold;'>第二节</font>"
            "<br/>" "<br/>"
            "<font style = 'font-size:13px;'>09:05~09:50</font>"
        )
        label_12.setAlignment(Qt.AlignCenter)
        label_12.setStyleSheet('background-color: LightGreen;')
        grid.addWidget(label_12,2,0,4,1)
        label_34 = QLabel()
        label_34.setText(
            "<font style = 'font-size:15px;font-weight: bold;'>第三节</font>"
            "<br/>" "<br/>"
            "<font style = 'font-size:13px;'>08:15~09:00</font>"
            "<br/>""<br/>"
            "<font style = 'font-size:15px;font-weight: bold;'>第四节</font>"
            "<br/>" "<br/>"
            "<font style = 'font-size:13px;'>09:05~09:50</font>"
        )
        label_34.setAlignment(Qt.AlignCenter)
        label_34.setStyleSheet('background-color: MediumOrchid;')
        grid.addWidget(label_34, 6,0,4,1)
        label_56 = QLabel()
        label_56.setText(
            "<font style = 'font-size:15px;font-weight: bold;'>第五节</font>"
            "<br/>" "<br/>"
            "<font style = 'font-size:13px;'>08:15~09:00</font>"
            "<br/>""<br/>"
            "<font style = 'font-size:15px;font-weight: bold;'>第六节</font>"
            "<br/>" "<br/>"
            "<font style = 'font-size:13px;'>09:05~09:50</font>"
        )
        label_56.setAlignment(Qt.AlignCenter)
        label_56.setStyleSheet('background-color: LightGreen;')
        grid.addWidget(label_56, 10, 0, 4, 1)
        label_78 = QLabel('')
        label_78.setText(
            "<font style = 'font-size:15px;font-weight: bold;'>第七节</font>"
            "<br/>" "<br/>"
            "<font style = 'font-size:13px;'>08:15~09:00</font>"
            "<br/>""<br/>"
            "<font style = 'font-size:15px;font-weight: bold;'>第八节</font>"
            "<br/>" "<br/>"
            "<font style = 'font-size:13px;'>09:05~09:50</font>"
        )
        label_78.setAlignment(Qt.AlignCenter)
        label_78.setStyleSheet('background-color: MediumOrchid;')
        grid.addWidget(label_78, 14, 0, 4, 1)
        label_9 = QLabel('')
        label_9.setText(
            "<font style = 'font-size:15px;font-weight: bold;'>第九节</font>"
            "<br/>""<br/>"
            "<font style = 'font-size:13px;'>08:15~09:00</font>"
            "<br/>""<br/>"
            "<font style = 'font-size:15px;font-weight: bold;'>第十节</font>"
            "<br/>" "<br/>"
            "<font style = 'font-size:13px;'>09:05~09:50</font>"
            "<br/>""<br/>"
            "<font style = 'font-size:15px;font-weight: bold;'>第十一节</font>"
            "<br/>" "<br/>"
            "<font style = 'font-size:13px;'>09:05~09:50</font>"
        )
        label_9.setAlignment(Qt.AlignCenter)
        label_9.setStyleSheet('background-color:LightSteelBlue;')
        grid.addWidget(label_9, 18, 0, 5, 1)
        '''课表内容'''
        '''星期一'''
        Monday_12 = QTextEdit('')
        Monday_12.setStyleSheet('font-size:16px;')
        grid.addWidget(Monday_12, 2, 1, 4, 1)
        Monday_34 = QTextEdit('')
        Monday_34.setStyleSheet('font-size:16px;')
        grid.addWidget(Monday_34,6,1,4,1)
        Monday_56 = QTextEdit('')
        Monday_56.setStyleSheet('font-size:16px;')
        grid.addWidget(Monday_56, 10, 1, 4, 1)
        Monday_78 = QTextEdit('')
        Monday_78.setStyleSheet('font-size:16px;')
        grid.addWidget(Monday_78, 14, 1, 4, 1)
        Monday_9 = QTextEdit('')
        Monday_9.setStyleSheet('font-size:16px;')
        grid.addWidget(Monday_9, 18, 1, 5, 1)
        '''星期二'''
        Tuesday_12 = QTextEdit('')
        Tuesday_12.setStyleSheet('font-size:16px;')
        grid.addWidget(Tuesday_12, 2, 2, 4, 1)
        Tuesday_34 = QTextEdit('')
        Tuesday_34.setStyleSheet('font-size:16px;')
        grid.addWidget(Tuesday_34, 6, 2, 4, 1)
        Tuesday_56 = QTextEdit('')
        Tuesday_56.setStyleSheet('font-size:16px;')
        grid.addWidget(Tuesday_56, 10, 2, 4, 1)
        Tuesday_78 = QTextEdit('')
        Tuesday_78.setStyleSheet('font-size:16px;')
        grid.addWidget(Tuesday_78, 14, 2, 4, 1)
        Tuesday_9 = QTextEdit('')
        Tuesday_9.setStyleSheet('font-size:16px;')
        grid.addWidget(Tuesday_9, 18, 2, 5, 1)
        '''星期三'''
        Wednesday_12 = QTextEdit('')
        Wednesday_12.setStyleSheet('font-size:16px;')
        grid.addWidget(Wednesday_12, 2, 3, 4, 1)
        Wednesday_34 = QTextEdit('')
        Wednesday_34.setStyleSheet('font-size:16px;')
        grid.addWidget(Wednesday_34, 6, 3, 4, 1)
        Wednesday_56 = QTextEdit('')
        Wednesday_56.setStyleSheet('font-size:16px;')
        grid.addWidget(Wednesday_56, 10, 3, 4, 1)
        Wednesday_78 = QTextEdit('')
        Wednesday_78.setStyleSheet('font-size:16px;')
        grid.addWidget(Wednesday_78, 14, 3, 4, 1)
        Wednesday_9 = QTextEdit('')
        Wednesday_9.setStyleSheet('font-size:16px;')
        grid.addWidget(Wednesday_9, 18, 3, 5, 1)
        '''星期四'''
        Thursday_12 = QTextEdit('')
        Thursday_12.setStyleSheet('font-size:16px;')
        grid.addWidget(Thursday_12, 2, 4, 4, 1)
        Thursday_34 = QTextEdit('')
        Thursday_34.setStyleSheet('font-size:16px;')
        grid.addWidget(Thursday_34, 6, 4, 4, 1)
        Thursday_56 = QTextEdit('')
        Thursday_56.setStyleSheet('font-size:16px;')
        grid.addWidget(Thursday_56, 10, 4, 4, 1)
        Thursday_78 = QTextEdit('')
        Thursday_78.setStyleSheet('font-size:16px;')
        grid.addWidget(Thursday_78, 14, 4, 4, 1)
        Thursday_9 = QTextEdit('')
        Thursday_9.setStyleSheet('font-size:16px;')
        grid.addWidget(Thursday_9, 18, 4, 5, 1)
        '''星期五'''
        Friday_12 = QTextEdit('')
        Friday_12.setStyleSheet('font-size:16px;')
        grid.addWidget(Friday_12, 2, 5, 4, 1)
        Friday_34 = QTextEdit('')
        Friday_34.setStyleSheet('font-size:16px;')
        grid.addWidget(Friday_34, 6, 5, 4, 1)
        Friday_56 = QTextEdit('')
        Friday_56.setStyleSheet('font-size:16px;')
        grid.addWidget(Friday_56, 10, 5, 4, 1)
        Friday_78 = QTextEdit('')
        Friday_78.setStyleSheet('font-size:16px;')
        grid.addWidget(Friday_78, 14, 5, 4, 1)
        Friday_9 = QTextEdit('')
        Friday_9.setStyleSheet('font-size:16px;')
        grid.addWidget(Friday_9, 18, 5, 5, 1)
        '''星期六'''
        Saturday_12 = QTextEdit('')
        Saturday_12.setStyleSheet('font-size:16px;')
        grid.addWidget(Saturday_12, 2, 6, 4, 1)
        Saturday_34 = QTextEdit('')
        Saturday_34.setStyleSheet('font-size:16px;')
        grid.addWidget(Saturday_34, 6, 6, 4, 1)
        Saturday_56 = QTextEdit('')
        Saturday_56.setStyleSheet('font-size:16px;')
        grid.addWidget(Saturday_56, 10, 6, 4, 1)
        Saturday_78 = QTextEdit('')
        Saturday_78.setStyleSheet('font-size:16px;')
        grid.addWidget(Saturday_78, 14, 6, 4, 1)
        Saturday_9 = QTextEdit('')
        Saturday_9.setStyleSheet('font-size:16px;')
        grid.addWidget(Saturday_9, 18, 6, 5, 1)
        '''星期日'''
        Sunday_12 = QTextEdit('')
        Sunday_12.setStyleSheet('font-size:16px;')
        grid.addWidget(Sunday_12, 2, 7, 4, 1)
        Sunday_34 = QTextEdit('')
        Sunday_34.setStyleSheet('font-size:16px;')
        grid.addWidget(Sunday_34, 6, 7, 4, 1)
        Sunday_56 = QTextEdit('')
        Sunday_56.setStyleSheet('font-size:16px;')
        grid.addWidget(Sunday_56, 10, 7, 4, 1)
        Sunday_78 = QTextEdit('')
        Sunday_78.setStyleSheet('font-size:16px;')
        grid.addWidget(Sunday_78, 14, 7, 4, 1)
        Sunday_9 = QTextEdit('')
        Sunday_9.setStyleSheet('font-size:16px;')
        grid.addWidget(Sunday_9, 18, 7, 5, 1)
        widget.setLayout(grid)
        self.setCentralWidget(widget)
if __name__ == '__main__':
    app = QApplication(sys.argv)
    app.setStyleSheet('''
                            QPushButton{background-color: #f0f0f0;}
                            QPushButton:hover{background-color: #f0f0f0;}
                            QPushButton:pressed{background-color: #f0f0f0;}
                        ''')
    main_wnd = CourseTimetable()
    main_wnd.show()
    app.exec()
————————————————

注:课程表中所用的icon再阿里巴巴矢量图标库中可以下载。

相关文章
|
5月前
|
算法 Java Python
垃圾回收机制 | Python
Python 的垃圾回收机制采用“引用计数”为主,“分代回收”和“标记-清除”为辅的策略。引用计数通过跟踪对象的引用次数,实时释放无引用对象的内存,但存在循环引用问题。分代回收将对象按存活时间分为三代,优先回收短命对象,减少性能开销。标记-清除技术用于解决容器对象的循环引用问题,通过标记不可达对象并清除它们,但需全量扫描堆内存,效率较低。这三种机制共同确保 Python 内存管理的高效与稳定。
150 30
|
10月前
|
Linux 开发工具 git
【Git】Git 完全指南:从入门到精通
Git 是一种强大的版本控制工具,掌握了其基本命令和高级特性后,可以大大提高开发效率并方便团队协作。通过本篇文章,你已经学会了 Git 的核心命令及其使用方法,希望你能够灵活运用 Git 在实际项目中进行版本管理。
2851 4
|
8月前
|
索引 Python
python字符串类型及操作
本文主要讲解字符串类型的表示、操作符、处理函数、处理方法及格式化。内容涵盖字符串的定义、表示方法(单双引号、三引号)、索引与切片、特殊字符转义、常见操作符(如+、*、in等)、处理函数(如len()、str()、chr()等)、处理方法(如.lower()、.split()等)以及格式化方式(如.format())。通过实例代码详细介绍了字符串的各种用法和技巧,帮助读者全面掌握字符串操作。
239 2
python字符串类型及操作
|
8月前
|
存储 数据采集 数据库
Python爬虫实战:股票分时数据抓取与存储
Python爬虫实战:股票分时数据抓取与存储
|
计算机视觉
这是一个关于face_recognition和dlib库的安装(亲测有用,毕竟我代码都写出来了)
这是一个关于face_recognition和dlib库的安装(亲测有用,毕竟我代码都写出来了)
|
SQL 前端开发 Java
在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)
这篇文章介绍了如何在IntelliJ IDEA中使用Maven将Spring Boot项目打包成可运行的jar包,并提供了运行jar包的方法。同时,还讨论了如何解决jar包冲突问题,并提供了在IDEA中同时启动Vue前端项目和Spring Boot后端项目的步骤。
在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)
|
存储 前端开发 数据可视化
一文教会你 如何在Github中创建仓库?如何将多个项目放到一个仓库中管理?如何将本地项目上传到GitHub中?
这篇文章详细介绍了如何在GitHub上创建新仓库,以及如何将多个项目整合到一个仓库中进行管理。文章还提供了克隆仓库到本地、使用不同文件夹存放不同项目代码、以及将这些项目提交到远程服务器的步骤和方法。
一文教会你 如何在Github中创建仓库?如何将多个项目放到一个仓库中管理?如何将本地项目上传到GitHub中?
|
JavaScript Java 测试技术
基于SpringBoot+Vue 的学生成绩管理系统【源码+论文+演示视频+包运行成功】
基于SpringBoot+Vue 的学生成绩管理系统【源码+论文+演示视频+包运行成功】
575 0
|
存储 关系型数据库 MySQL
关系型数据库mysql验证数据完整性
【7月更文挑战第2天】
464 1
|
敏捷开发 前端开发 测试技术
软件开发工作流【详解】(含公司产品研发流程图、大厂研发架构图、大厂研发流程图)
软件开发工作流【详解】(含公司产品研发流程图、大厂研发架构图、大厂研发流程图)
6758 1