From ea6f12e7ace7e2f2a55af1263e2ca1403f6194ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=AE=97=E5=B9=B3?= Date: Sun, 5 Jul 2026 16:07:40 +0800 Subject: [PATCH] =?UTF-8?q?PPT=20=E7=89=88=E6=9C=AC=E5=B9=BB=E7=81=AF?= =?UTF-8?q?=E7=89=87=EF=BC=9A=E7=94=9F=E6=88=90=E5=99=A8=20+=205=20?= =?UTF-8?q?=E5=A4=A9=E8=AE=B2=E7=A8=BF=E5=A4=87=E6=B3=A8=EF=BC=88=E5=B7=B2?= =?UTF-8?q?=E5=8E=BB=20AI=20=E5=91=B3=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - tools/teaching_ppt/gen.py:python-pptx 生成引擎(页面内容与讲稿数据分离, 幂等可重生成);tools/teaching_ppt/day1..5.py:每天的页面+讲稿数据 - docs/teaching/ppt/day1..5.pptx:5 份 PPT 产物,页面内容对应 slides/*.html, 详细讲稿(建议时长/讲法/演示/互动/过渡)只写入演讲者备注,不进主页面 - 讲稿去 AI 味:破折号过度堆砌 152 处砍到 6 处(7.8‰ → 0.3‰)、 升华腔(分水岭/点燃探索欲)清零、重复词(现场 26→11)替换; 保留教学口语生动感(你们/当堂/点破/埋点/回指)与【过渡】悬念钩子 - 生成方式:python-pptx 在隔离 venv 装,不影响系统 Python; 改 day*.py 的 notes 字段后重跑 gen.py 即可幂等重生成 --- .gitignore | 2 + docs/teaching/ppt/day1.pptx | Bin 0 -> 86272 bytes docs/teaching/ppt/day2.pptx | Bin 0 -> 79607 bytes docs/teaching/ppt/day3.pptx | Bin 0 -> 65500 bytes docs/teaching/ppt/day4.pptx | Bin 0 -> 72726 bytes docs/teaching/ppt/day5.pptx | Bin 0 -> 63535 bytes tools/teaching_ppt/day1.py | 310 ++++++++++++++++++++++++++++++++++++ tools/teaching_ppt/day2.py | 259 ++++++++++++++++++++++++++++++ tools/teaching_ppt/day3.py | 190 ++++++++++++++++++++++ tools/teaching_ppt/day4.py | 230 ++++++++++++++++++++++++++ tools/teaching_ppt/day5.py | 171 ++++++++++++++++++++ tools/teaching_ppt/gen.py | 239 +++++++++++++++++++++++++++ 12 files changed, 1401 insertions(+) create mode 100644 docs/teaching/ppt/day1.pptx create mode 100644 docs/teaching/ppt/day2.pptx create mode 100644 docs/teaching/ppt/day3.pptx create mode 100644 docs/teaching/ppt/day4.pptx create mode 100644 docs/teaching/ppt/day5.pptx create mode 100644 tools/teaching_ppt/day1.py create mode 100644 tools/teaching_ppt/day2.py create mode 100644 tools/teaching_ppt/day3.py create mode 100644 tools/teaching_ppt/day4.py create mode 100644 tools/teaching_ppt/day5.py create mode 100644 tools/teaching_ppt/gen.py diff --git a/.gitignore b/.gitignore index e2d6a9b..58839e2 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,8 @@ ui_*.h # Tooling caches .qt/ .cache/ +__pycache__/ +*.pyc # Editor / OS .vscode/ diff --git a/docs/teaching/ppt/day1.pptx b/docs/teaching/ppt/day1.pptx new file mode 100644 index 0000000000000000000000000000000000000000..6dbbea4c2953de3f791f53788363480f0ff4461b GIT binary patch literal 86272 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ƫGF17 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 V$V5G*$%&y*`HB3Av$}IwHJn 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 IUvE4AKN@}z!2kdN literal 0 HcmV?d00001 diff --git a/docs/teaching/ppt/day3.pptx b/docs/teaching/ppt/day3.pptx new file mode 100644 index 0000000000000000000000000000000000000000..5fb877deeceb250739a3a371739d2ec7a5f871ff GIT binary patch literal 65500 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 literal 0 HcmV?d00001 diff --git a/docs/teaching/ppt/day4.pptx b/docs/teaching/ppt/day4.pptx new file mode 100644 index 0000000000000000000000000000000000000000..bf7b0b966c51e08b39701de44a772cfaa9de6114 GIT binary patch literal 72726 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 Y$VtN^{P{suKotnT2LP6!KX0D?KNzJ>?f?J) literal 0 HcmV?d00001 diff --git a/docs/teaching/ppt/day5.pptx b/docs/teaching/ppt/day5.pptx new file mode 100644 index 0000000000000000000000000000000000000000..3cc93a190177aa41dd668a09a7a28f4e85f1fb76 GIT binary patch literal 63535 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 后析构\nQWidget window; // 后声明 -> 先析构\nbtn.setParent(&window);\n// 离开作用域:window 先析构 -> 父子树 delete &btn(栈地址!)-> 崩溃', + 'boxes': [ + ('pitfall', None, [ + '声明顺序反过来时「恰好不崩」——不要赌析构顺序的运气,规则只有一条:给了 parent 就必须在堆上', + ]), + ], + 'source': '复现示例:examples/pitfall_stack_widget/(README 有对照讲解)· 演示:tools/run_qt.sh qt_pitfall_stack_widget --crash', + 'minutes': 15, 'segment': '上午 · 栈坑演示', + 'notes': """【演示流程】①先跑默认版(正确写法):窗口正常;②跑 --crash 版:终端打出 free(): invalid pointer 后 abort,让全班看真实崩溃现场;③回到代码逐行讲析构顺序:谁后声明谁先析构,window 析构时树机制 delete 了一个栈地址。 +【关键升华】把两行声明对调再跑(README 有说明):不崩了,但它仍然是错的。这里讲"UB 不等于必然崩溃":恰好不崩是最危险的状态,因为它能潜伏到交付。这个观念下午 lambda 坑还要用一次。 +【规则收束】黑板写下今天第一条军规:"给了 parent 的控件必须 new。"(Day3 讲对话框时这条军规会第三次出现。) +【过渡】"上午最后一小时自己动手,顺便埋一个下午要用的雷(中文标题)。" """ +}, +{ + 'badge': '上午 · 课堂练习 11:00–12:00(工程师指导、答疑)', + 'title': '任务卡 1 · 跑通并改造最小程序', + 'boxes': [ + ('task', '任务卡 1', [ + '目标:编译运行 minimal_qt_app 与 button_creation;把窗口标题和按钮文字改成自己的学号+姓名(中文)', + '验收:QT_QPA_PLATFORM=offscreen tools/run_qt.sh minimal_qt_app 退出码 0', + '验收:有 X 环境下自己改的中文标题正常显示', + '参考:p03/ch02/minimal_qt_app.cpp · p03/ch03/button_creation.cpp', + ]), + ], + 'minutes': 60, 'segment': '上午 · 课堂练习', + 'notes': """【组织】前 20 分钟目标:全员把两个示例跑起来(上午刚装的环境在这里最终验收)。后 30 分钟做中文改造。 +【埋点说明(教师知悉,别提前剧透)】中文改造是给下午"QString 编码"坑卡埋的现场素材:部分学员会遇到乱码(源码编码或隐式转换),先只记录现象、告知"下午揭晓",不当场展开。带着问题听课效果最好。 +【常见卡点】CMAKE_PREFIX_PATH 没传导致 find_package 失败(回收上午创建项目页);改完代码没重新构建就跑旧程序(讲"改了要重编"的习惯)。 +【收尾】统计乱码人数,下午编码页开场直接用这个数字。""" +}, +{ + 'badge': '下午 · 讲授 13:30–16:00', + 'title': '信号槽:内置 / 自定义 / lambda', + 'boxes': [ + ('concept', None, [ + '观察者模式的 Qt 实现:发送者只 emit,不知道谁在听——对象间彻底解耦', + '新语法 &Class::signal 编译期检查;旧字符串语法 SIGNAL()/SLOT() 运行时检查', + '连接方式 Direct/Queued/Auto(Day5 跨线程时回收闭环)', + ]), + ('pitfall', None, [ + '旧语法写错不报编译错误——运行时静默连接失败', + '重载信号不加 QOverload 消歧义直接编译报错', + ]), + ], + 'source': '出处:p03/ch04/builtin_signal_slot.cpp · custom_signal_slot.cpp · lambda_signal_slot.cpp', + 'minutes': 35, 'segment': '下午 · 信号槽', + 'notes': """【地位】信号槽是全部 Qt 课程的第一核心机制,本页 35 分钟是全天最大块,按"三个示例各 10 分钟 + 5 分钟总结"推进,每个示例都当堂跑。 +【讲法】①builtin:按钮 clicked 连内置槽,讲"信号=事件的语义化出口";②custom:自定义信号加 emit,讲"你的类也能发广播",顺便回收上午 Q_OBJECT/moc(信号的实现就在 moc 文件里);③lambda:匿名函数当槽,回收昨天现代 C++ 巡礼的 lambda——"昨天的新特性今天就用上了"。 +【新旧语法】演示一次旧语法故意拼错:编译通过、运行时只有一行警告、功能静默失效。对比新语法同样错误直接编译失败。结论:一律用新语法。 +【互动】"信号槽和直接调函数有什么区别?"解耦:发送者不 include 接收者,这是 Day5 案例架构分层的伏笔。 +【过渡】"lambda 好用,但它有一个能潜伏到上线的坑。" """ +}, +{ + 'badge': '下午 · 讲授 13:30–16:00 · ★坑点复现', + 'title': '★ lambda 槽的生命周期与第五参数', + 'code': "connect(sender, &Sender::sig, [obj]{ obj->f(); }); // X obj 销毁后仍触发\nconnect(sender, &Sender::sig, obj, [obj]{ obj->f(); }); // O 第五参数=context", + 'boxes': [ + ('concept', None, [ + '第五参数(context object)决定连接跟谁的生命周期挂钩:对象析构自动断开', + '规则:lambda 捕获了某个 QObject,就把它作为第五参数传进去', + ]), + ('pitfall', None, [ + '不传 context:接收方销毁后 lambda 仍被调用——悬空指针,可能崩也可能「看起来正常」', + ]), + ], + 'source': '复现示例:examples/pitfall_lambda_capture/ · 演示:tools/run_qt.sh qt_pitfall_lambda_capture(--dangle 看真实悬空)', + 'minutes': 15, 'segment': '下午 · 信号槽坑卡', + 'notes': """【演示流程】跑默认版看确定性对比输出:delete 接收者后,无 context 的连接仍触发、带 context 的已自动断开,两条连接的差异一目了然。再跑 --dangle:真实悬空访问,本机实测打印出了"看似正常的旧值",正好接上午的话:"UB 恰好正常是最危险的状态",第二次强化。 +【规则】只给一条可执行军规(黑板第二条):"lambda 捕获了谁,第五参数就传谁。"不要展开讲连接对象的内部实现,中初级听众记规则比记原理牢。 +【回指】这就是昨天"悬空引用"的 Qt 版:对象死了,别人手里还留着它的地址。同一个病根第三次出现,点破这个重复是刻意设计。 +【过渡】"还有一个坑,症状更迷惑:功能是对的,就是每次都来两遍。" """ +}, +{ + 'badge': '下午 · 讲授 13:30–16:00 · ★坑点复现', + 'title': '★ 重复 connect:点一次按钮弹两次框', + 'boxes': [ + ('concept', None, [ + 'connect 每调一次新增一条连接,Qt 不去重——连两次,槽被调两次', + '修复①connect 收拢到构造函数只做一次(首选);②Qt::UniqueConnection(仅成员函数指针,lambda 防不了)', + ]), + ('pitfall', None, [ + 'connect 写在会被多次执行的路径上(每次打开界面都跑的「初始化」函数)——第一反应查按钮,根源在连接次数', + ]), + ], + 'source': '复现示例:examples/pitfall_double_connect/ · 演示:tools/run_qt.sh qt_pitfall_double_connect', + 'minutes': 12, 'segment': '下午 · 信号槽坑卡', + 'notes': """【演示】跑复现示例:输出清楚展示"重复 connect 后一次 emit 槽调 2 次 → UniqueConnection 后只调 1 次"。确定性输出,不用赌运气。 +【讲法】重点讲"事故现场的形态":没人会故意连两次,都是 connect 藏在 setup()/init() 这类会被反复调用的函数里。所以首选修复是结构性的,connect 全部收进构造函数(今晚计算器作业的验收标准里就有这条)。 +【UniqueConnection 的边界】强调它只认成员函数指针:lambda 没有身份,防不了。想用 UniqueConnection 就别用 lambda 槽,二选一说清楚。 +【过渡】"最后一个坑不崩也不重复,它只是让你的界面变成'????'。上午改中文乱码的同学,谜底来了。" """ +}, +{ + 'badge': '下午 · 讲授 13:30–16:00 · ★坑卡', + 'title': '★ QString 与中文编码', + 'boxes': [ + ('concept', None, [ + 'QString 内部是 UTF-16,和 std::string(字节串)是两种东西', + '互转必须指明编码:toUtf8() / fromUtf8();中文字面量用 QStringLiteral + 源码存 UTF-8', + ]), + ('pitfall', None, [ + '源码不是 UTF-8、或用 QString(char*) 隐式转换中文字面量 -> 界面乱码', + 'Day4 读写文件时编码问题还会再来一次(同一根源)', + ]), + ], + 'minutes': 12, 'segment': '下午 · 编码坑卡', + 'notes': """【开场】直接报上午统计的乱码人数,请一位中招学员描述现象,用真实案例开讲比抽象讲编码有效得多。 +【讲法】画"两个世界"图:字节世界(std::string/文件/网络)和文字世界(QString/界面),中间隔一道墙,过墙必须声明编码。乱码的本质:过墙时没声明,系统猜错了。 +【可执行规则】三条:源码文件一律存 UTF-8;中文字面量写 QStringLiteral("…");和 std::string 互转显式 fromUtf8/toUtf8。让中招学员当堂改好自己上午的代码作为验证。 +【预告】Day4 文件读写会遇到同一堵墙的另一个门(QTextStream 默认编码随平台变),到时回收。 +【过渡】"四个坑讲完,弹药齐了。开始组装今天的正菜:计算器。" """ +}, +{ + 'badge': '下午 · 讲授 13:30–16:00 · 案例', + 'title': '案例 · 简易计算器(布局脚手架:先用后学)', + 'code': "auto* grid = new QGridLayout(window); // 布局原理明天下午讲透\ngrid->addWidget(btn7, 0, 0); grid->addWidget(btn8, 0, 1); // 今天先会用:\ngrid->addWidget(btn9, 0, 2); grid->addWidget(btnDiv, 0, 3); // 行、列坐标摆键盘", + 'boxes': [ + ('concept', '组装思路', [ + '按钮(上午)+ 点击信号槽(刚学)+ QGridLayout 脚手架排键盘 + QLabel/QLineEdit 显示结果', + '项目 = 已学知识点的组装——Day5 综合案例和 Day6–10 项目的预演', + ]), + ], + 'minutes': 25, 'segment': '下午 · 计算器组装讲解', + 'notes': """【讲法】自顶向下带一遍设计再放手:①界面拆解(显示区加 4×4 键盘);②交互拆解(数字键追加、运算键记住操作数和运算符、等号算);③把每块映射到今天学的知识点。白板画完设计图再看脚手架代码。 +【脚手架声明】明确"先用后学"的边界:今天只需要会 addWidget(w, row, col) 这一个动作。为什么它能自适应、还有哪些布局,明天下午专门讲,防止有人今天就钻布局细节出不来。 +【实现提示】给一个最省事的状态机设计(当前值/暂存值/待执行运算符三个成员变量),但不给完整代码,作业要自己写。演示教师版成品跑一次,明确"长这样就算达标"。 +【剩余时间】讲解 25 分钟后,剩下约 30 分钟当堂开工,作业时段继续。""" +}, +{ + 'badge': '下午 · 课堂作业 16:00–17:00(工程师答疑)', + 'title': '任务卡 2 · 简易计算器', + 'boxes': [ + ('task', '任务卡 2', [ + '目标:组合按钮 + 信号槽 + QGridLayout 脚手架,做出能加减乘除的最小计算器', + '验收:两个数 + 一种运算符计算正确并显示;界面不重叠、按钮可点击', + '验收:connect 全部用新语法且写在构造函数里(今天的坑卡现学现用)', + '参考:p03/ch03/button_creation.cpp · p03/ch04/custom_signal_slot.cpp · p03/ch08/custom_widget.cpp(布局参考)', + ]), + ], + 'minutes': 60, 'segment': '下午 · 作业', + 'notes': """【组织】独立完成,允许组内讨论思路但代码各写各的。教师端备好参考实现(不发放)。 +【巡场检查点】对照三张坑卡验收:connect 是否都在构造函数(防重复连接)、有没有栈上建控件、中文按钮文字是否正常。坑卡内容当天就进验收,记忆效果最好。 +【分层】快的学员加"连续运算"或"清除键 C";慢的学员先保证"两个数一个运算符"最小闭环,键盘可以只做 0–9 和 + =。 +【预告】明天计算器不重写,直接在今天的代码上套 QMainWindow、加菜单、上 QSS。今天的代码质量决定明天的起点,散场前提醒提交保存。""" +}, +{ + 'badge': '当日收尾', + 'title': '当日产出验证', + 'bullets': [ + '现场演示:计算器完成至少一次正确运算;中文界面无乱码', + '钩子:打开 build/ 里真实的 moc_*.cpp,看 moc 生成了什么代码', + '明天 Day3:QMainWindow / QDialog / 布局讲透 / 常用控件 / QSS——计算器升级成「正经软件」', + ], + 'minutes': 5, 'segment': '收尾', + 'notes': """【验收】抽 2–3 人现场演示计算器运算;全班自查中文无乱码。 +【钩子讲法】当堂打开一个 moc_*.cpp 滚一屏,不逐行讲,只说一句:"信号槽没有魔法,全在这份生成代码里,感兴趣的回去读。"能看懂的学员会对元对象系统祛魅。 +【收线】"今天你们写出了第一个有交互的 Qt 程序;明天给它一个正经软件的骨架。"散场。""" +}, +] diff --git a/tools/teaching_ppt/day3.py b/tools/teaching_ppt/day3.py new file mode 100644 index 0000000..97a3ca9 --- /dev/null +++ b/tools/teaching_ppt/day3.py @@ -0,0 +1,190 @@ +# -*- coding: utf-8 -*- +"""Day3 · QMainWindow / QDialog / 布局与控件 / QSS —— 页面对应 slides/day3.html。""" + +SLIDES = [ +{ + 'kind': 'title', + 'badge': 'C++/Qt 方向实训 · 第 3 / 4 个讲授日', + 'title': 'Day 3 · QMainWindow / QDialog / 布局与控件', + 'subtitle': '主窗口骨架 / 对话框交互 / 布局讲透 / 常用控件 / QSS 美化', + 'bullets': [ + '上午 08:30–11:00 讲授:QMainWindow · 对话框 QDialog · 标准对话框', + '上午 11:00–12:00 课堂练习:计算器套上 QMainWindow(菜单 + 停靠窗)', + '下午 13:30–16:00 讲授:布局管理器(回收脚手架)· 常用控件与 .qrc · QSS', + '下午 16:00–17:00 作业:QSS 美化计算器 + 缩放自适应', + ], + 'minutes': 3, 'segment': '开场', + 'notes': """【主线】今天全天围绕一件事:把昨天的计算器升级成"正经软件"。上午给骨架(主窗口加对话框),下午管排版和外观。开场就展示教师版的"升级后计算器"成品,让学员看到今天结束时自己的程序长什么样,目标可视化。 +【时长骨架】上午:QMainWindow 30 → QDialog 模态非模态 30 → 标准对话框 15,讲授约 75 分钟,剩余给随堂跟敲和答疑。下午:布局 30 → 控件与 qrc 25 → QSS 25,随堂练穿插。 +【衔接】昨天的"堆上建控件"军规今天在对话框一节会第三次出现,留意把这条线讲成呼应而不是重复。""" +}, +{ + 'badge': '上午 · 讲授 08:30–11:00', + 'title': 'QMainWindow:标准桌面软件的骨架', + 'boxes': [ + ('concept', None, [ + 'QMainWindow 不是「大号 QWidget」:菜单栏/工具栏/状态栏/停靠窗各就其位的固定区域协议', + '中心部件必须 setCentralWidget() 显式安放', + '菜单项和工具栏按钮的统一抽象是 QAction——一个动作,多处复用', + ]), + ('pitfall', None, [ + '不设中心部件直接摆控件——布局行为不可预期', + 'QAction 显示出来 ≠ 生效:忘 connect 就是「菜单点了没反应」', + ]), + ], + 'source': '出处:p03/ch05/central_widget.cpp · dock_widget.cpp', + 'minutes': 30, 'segment': '上午 · QMainWindow', + 'notes': """【引入】投一张学员都认识的软件截图(VS Code / WPS),指认五个区域:菜单/工具/状态/中心/停靠。"QMainWindow 就是这套行业标准布局的现成实现。" +【讲法】跑 central_widget.cpp 与 dock_widget.cpp,边跑边对照代码:setCentralWidget、menuBar()->addMenu、addToolBar、statusBar()->showMessage 四个入口各演示一次。 +【QAction 重点】用"一个动作三个入口"讲:同一个 QAction 同时挂菜单和工具栏,禁用它两处一起变灰,这就是抽象的价值。坑卡里"菜单点了没反应"发生率极高,让学员现在就形成"建 action 后第一件事 connect"的顺序习惯。 +【互动】问:"中心部件只能有一个,那复杂界面怎么办?"答案是中心部件本身可以是任意组合控件(下午布局课解决),先埋问题。 +【过渡】"主窗口是常驻界面;临时冒出来问一句的界面叫对话框。" """ +}, +{ + 'badge': '上午 · 讲授 08:30–11:00', + 'title': 'QDialog:模态与非模态', + 'boxes': [ + ('concept', None, [ + '模态 exec():阻塞等结果,返回值就是用户的选择(Accepted/Rejected)', + '非模态 show():立即返回,窗口独立存活——对象必须活过当前函数作用域', + '非模态三种写法:堆 + parent / WA_DeleteOnClose 自清理 /(反例)栈', + ]), + ('pitfall', '常见的坑(所有权军规第三次出现!)', [ + '非模态对话框建在栈上:show() 完函数一返回就析构——窗口一闪而过', + 'p03/ch06 的三个 modeless 版本就是这个坑的对照教材', + ]), + ], + 'source': '出处:p03/ch06/modal_dialog.cpp · modeless_dialog_stack.cpp · _heap.cpp · _deleteonclose.cpp', + 'minutes': 30, 'segment': '上午 · QDialog', + 'notes': """【讲法】模态/非模态先用生活类比定性:模态=收银台付款(不办完不能干别的),非模态=旁边开着的计算器(随时切换)。然后讲代码差异的本质:exec() 内部自己转事件循环所以能阻塞,show() 只是显示。 +【三连跑对照】依次跑 ch06 三个 modeless 文件:栈版一闪而过(学员先猜原因,Day2 军规该有人能答上)、堆版正常但要考虑谁删、DeleteOnClose 版关窗自清理。同一功能三种生命周期策略并排,是全仓库最好的所有权教材。 +【收束】黑板军规更新:"给了 parent 的控件必须 new"加"非模态对话框必须活过函数"。本质是同一条:对象的生命周期必须覆盖它的使用周期。 +【过渡】"自己写对话框之前,先看看 Qt 送了哪些现成的。" """ +}, +{ + 'badge': '上午 · 讲授 08:30–11:00', + 'title': '标准对话框速览', + 'code': 'auto ret = QMessageBox::question(this, "确认", "真的要删除吗?");\nif (ret == QMessageBox::Yes) { /* ... */ }\n\nQString path = QFileDialog::getOpenFileName(this, "选择文件", "", "*.json");\nif (!path.isEmpty()) { /* ... */ } // 用户可能点取消:必须处理空返回', + 'boxes': [ + ('pitfall', None, [ + '不处理「用户点了取消」(空路径/Rejected)就直接往下用——健壮性问题高发点', + ]), + ], + 'source': '出处:p03/ch06/message_box_question.cpp · message_box_custom.cpp · file_dialog.cpp', + 'minutes': 15, 'segment': '上午 · 标准对话框', + 'notes': """【讲法】两个静态函数各演示一次即可,重点全放在坑卡上:让学员齐声回答"getOpenFileName 之后第一行代码写什么?"判空。用户永远可能点取消,这是健壮性思维的第一课(Day4 的 open() 判返回值、ParseError 检查是同一条思维线)。 +【提示】QMessageBox 的 question/information/warning/critical 四兄弟提一嘴图标差异即可,不逐个演示。 +【过渡】"骨架和对话框都有了。上午最后一小时,把你的计算器装进这副骨架。" """ +}, +{ + 'badge': '上午 · 课堂练习 11:00–12:00(工程师指导、答疑)', + 'title': '任务卡 1 · 给计算器套上 QMainWindow', + 'boxes': [ + ('task', '任务卡 1', [ + '目标:昨天的计算器改造为 QMainWindow 应用;加菜单「帮助→关于」弹 QMessageBox;加「历史」停靠窗(可先放空 QLabel)', + '验收:计算器功能不回退;菜单动作有响应;停靠窗可拖动/收起', + '参考:p03/ch05/central_widget.cpp · dock_widget.cpp · p03/ch06/message_box_question.cpp', + ]), + ], + 'minutes': 60, 'segment': '上午 · 课堂练习', + 'notes': """【关键改造思路(先讲 3 分钟再放手)】昨天的计算器是一个 QWidget,今天不重写,把它整个 setCentralWidget 进 QMainWindow。这个"旧组件装进新骨架"的动作本身就是组件化思维的第一次实践,点破它。 +【巡场检查点】①菜单 QAction 忘 connect(上午坑卡现场版,让学员自己对照坑卡定位);②功能回退(改造弄坏了昨天的计算逻辑,借机讲"改结构不改逻辑"的重构纪律)。 +【分层】快的学员让"历史"停靠窗真的记录每次运算(QLabel 追加文本即可),这直接为 Day5 案例的表格记录做铺垫。 +【收尾】抽 1–2 人演示:点菜单弹关于、拖动停靠窗。""" +}, +{ + 'badge': '下午 · 讲授 13:30–16:00', + 'title': '布局管理器(回收昨天的脚手架)', + 'boxes': [ + ('concept', None, [ + '布局接管子控件位置/大小计算,随窗口缩放自动重排', + 'QHBox / QVBox / QGrid 三兄弟 + 嵌套组合 + 伸缩因子 addStretch()', + '布局对象同样遵循 QObject 父子所有权', + ]), + ('pitfall', None, [ + '同一控件不能属于两个布局', + '布局设置后又用 setGeometry()/move() 手动改位置——被下次刷新覆盖,看起来「设置没生效」', + ]), + ], + 'source': '出处:p03/ch08/custom_widget.cpp', + 'minutes': 30, 'segment': '下午 · 布局', + 'notes': """【兑现承诺】开场明确"昨天欠的布局课现在还":把计算器脚手架里的 QGridLayout 拿出来讲原理。为什么 addWidget(w, row, col) 之后拉伸窗口按钮会跟着变?因为布局在每次 resize 时重算所有子控件的几何。 +【讲法】演示三兄弟各一个最小例子,然后重点讲嵌套:垂直布局套水平布局,拼出"上显示屏下键盘"的计算器结构。学员昨天已经无意识用过,今天补上心智模型。addStretch 用"弹簧"类比。 +【坑卡】当堂演示"布局后 move() 失效":move 完拉伸一下窗口,控件跳回布局位置,"看起来没生效"的真相是被布局覆盖。规则:进了布局就别手动定位,二选一。 +【随堂练 10 分钟】把自己计算器的布局改成"显示屏占 1 份、键盘占 3 份"的比例(伸缩因子)。 +【过渡】"位置管好了,看控件本身还有什么花样。" """ +}, +{ + 'badge': '下午 · 讲授 13:30–16:00', + 'title': '常用控件 + 资源系统 .qrc', + 'boxes': [ + ('concept', None, [ + 'QLabel 一个控件多种形态:纯文本 / 富文本 HTML / 图片 QPixmap / 动图 QMovie', + '输入靠 QLineEdit;按钮族 QPushButton / QRadioButton / QCheckBox', + ':/... 路径是 Qt 资源系统:资源编译期打包进可执行文件,发布不用带散图', + ]), + ('pitfall', None, [ + '.qrc 路径与代码引用不一致:运行时静默失败(图不显示),不报编译错误', + '忘接 CMake 的 AUTORCC / qt5_add_resources——资源系统不生效', + ]), + ], + 'source': '出处:p03/ch08/label_text_html.cpp · label_pixmap.cpp · label_movie.cpp', + 'minutes': 25, 'segment': '下午 · 控件与资源', + 'notes': """【讲法】三个 label 示例连跑(文本→HTML→图片/动图),节奏快一点,每个 5 分钟:控件 API 本身不难,难的是"知道有什么可用",本页目标是建目录索引不是背 API。 +【qrc 重点】打开 label_pixmap.qrc 和对应 cpp 对照讲:qrc 里登记路径 → 代码里 :/ 引用 → CMake AUTORCC 编译打包。坑卡演示:把代码里的 :/ 路径改错一个字母再跑,不报错、图消失,"静默失败"要亲眼见过才会警惕(Day4 的 open()/ParseError 静默失败是同一主题)。 +【互动】问:"图片放资源系统 vs 放程序旁边的目录,各适合什么?"只读小资源进 qrc;用户数据/大文件放文件系统(Day4 的主题,顺势预告)。 +【过渡】"功能齐了,长得还不行。最后一节,化妆。" """ +}, +{ + 'badge': '下午 · 讲授 13:30–16:00', + 'title': 'QSS 界面美化', + 'code': 'QPushButton#okButton { background-color: #2f855a; border-radius: 6px; }\nQPushButton#okButton:hover { background-color: #276749; }', + 'boxes': [ + ('concept', None, [ + '语法脱胎于 CSS:类型选择器 / ID 选择器(#objectName)/ 伪状态(:hover :pressed)+ 层叠', + '作用对象是 QWidget 树而非 DOM;「长什么样」与「做什么」分离,改样式不碰逻辑', + ]), + ('pitfall', None, [ + 'ID 选择器必须先 setObjectName()', + 'setStyleSheet() 级联影响所有子控件——范围失控最易踩,样式尽量写窄(带选择器)', + ]), + ], + 'source': '出处:examples/qss_styling/qt_qss_styling.cpp(README 有练习方向)', + 'minutes': 25, 'segment': '下午 · QSS', + 'notes': """【讲法】跑 qss_styling 示例,然后当堂改样式立即重跑,"改外观不碰逻辑"的分离感是本节要传达的核心体验。学过 CSS 的学员点一句"就是 CSS 的方言",没学过的按"选择器=谁、属性=怎么画"从零讲。 +【坑卡演示】级联失控:在顶层 widget 上裸写 background-color(不带选择器),跑起来所有子控件全变色,然后加上类型选择器收窄。让学员记"样式写窄"三个字。 +【伪状态】:hover/:pressed 是"零代码交互反馈",性价比极高,今晚作业的验收点之一。 +【随堂练 15 分钟】给上午的主窗口版计算器套第一版 QSS(哪怕只改按钮底色),作业时段继续精修。 +【过渡】"今晚作业就是把它做完做好,验收标准在下一页。" """ +}, +{ + 'badge': '下午 · 课堂作业 16:00–17:00(工程师答疑)', + 'title': '任务卡 2 · 用 QSS 美化计算器', + 'boxes': [ + ('task', '任务卡 2', [ + '目标:数字键/运算键/等号键用 QSS 区分颜色;整体布局随窗口缩放自适应', + '验收:至少 2 类按钮不同 background-color;至少 1 个按钮有 :hover 或 :pressed', + '验收:拉伸窗口按钮跟着重排', + '参考:examples/qss_styling/ · p03/ch08/custom_widget.cpp', + ]), + ], + 'minutes': 60, 'segment': '下午 · 作业', + 'notes': """【实现提示(开工前讲 3 分钟)】三类按键区分的正确姿势:按类别 setObjectName(或用动态属性),QSS 里 ID/属性选择器分别上色。不要给每个按钮单独 setStyleSheet(层级混乱且难维护)。 +【巡场检查点】①样式写太宽把显示屏也染色了(下午坑卡现场版);②hover 无效,大概率 objectName 没设或拼错,静默失败,让学员自己按坑卡排查。 +【分层】快的学员挑战"深色主题"整套配色,或给等号键加 :pressed 按下变暗的两态反馈。 +【预告】明天计算器线暂停一天(事件/绘图/文件),Day5 综合案例会用到今天所有的骨架加布局加美化技能。""" +}, +{ + 'badge': '当日收尾', + 'title': '当日产出验证', + 'bullets': [ + '现场演示:主窗口版计算器(菜单/停靠窗)+ QSS 配色 + 缩放自适应,功能不回退', + '钩子:QSS 与前端 CSS 同源;Qt Designer / QML 是另一条 UI 路线(知道存在即可)', + '明天 Day4:事件机制 / 绘图 / 表格 + 文件系统——数据要开始落盘了', + ], + 'minutes': 5, 'segment': '收尾', + 'notes': """【验收】抽 2–3 组演示升级后的计算器,其他人对照验收标准自查打钩。 +【钩子讲法】一句话安放 Designer/QML:"拖拽和声明式是另外两条 UI 路线,本课程走纯代码是为了让你们看清每一层。会走路了再学开车不迟。" +【收线】"三天了,你们的程序还没碰过磁盘。明天开始,让数据活过程序的重启。"散场。""" +}, +] diff --git a/tools/teaching_ppt/day4.py b/tools/teaching_ppt/day4.py new file mode 100644 index 0000000..c243ce8 --- /dev/null +++ b/tools/teaching_ppt/day4.py @@ -0,0 +1,230 @@ +# -*- coding: utf-8 -*- +"""Day4 · 事件机制 / 绘图与表格 / 文件系统 —— 页面对应 slides/day4.html。""" + +SLIDES = [ +{ + 'kind': 'title', + 'badge': 'C++/Qt 方向实训 · 第 4 / 4 个讲授日', + 'title': 'Day 4 · 事件机制 / 绘图与表格 / 文件系统', + 'subtitle': 'Qt 消息机制和事件 / 绘图事件及表格事件 / 文件系统 + JSON', + 'bullets': [ + '上午 08:30–11:00 讲授:事件循环 · 事件拦截 · QPainter 绘图 · QTableWidget 表格', + '上午 11:00–12:00 课堂练习:事件过滤器 + 自绘图形', + '下午 13:30–16:00 讲授:QFile/流/JSON + ★工作目录 + ★文件编码', + '下午 16:00–17:00 作业:本地数据存储小工具(Day5 综合案例前身)', + ], + 'minutes': 3, 'segment': '开场', + 'notes': """【主线】今天上下午各一条线:上午"框架怎么把外部世界的变化送进你的代码"(事件加绘图加表格),下午"你的数据怎么活过程序的重启"(文件加 JSON)。今晚的作业「本地数据存储小工具」就是明天综合案例的直接前身,做完今天,明天的案例就是把今天的成果组装放大。 +【时长骨架】上午:事件循环 15 → 事件拦截 25 → 绘图 25 → 表格 20,讲授约 85 分钟。下午:QIODevice 20 → JSON 25 → 工作目录坑 15 → 文件编码坑 15,讲授约 75 分钟。两段都留足随堂练时间。 +【衔接提醒】上午事件循环页要给下午的"主线程阻塞=冻结"埋点,下午埋的雷明天 QThread 来拆,一条贯穿三天的暗线。""" +}, +{ + 'badge': '上午 · 讲授 08:30–11:00', + 'title': '事件循环与派发:事件 vs 信号', + 'boxes': [ + ('concept', None, [ + 'Day2 的 app.exec() 拆开看:事件循环不停从队列取 QEvent 派发给目标控件', + '事件 = 框架推给控件的通知(鼠标/键盘/重绘);信号槽 = 对象间主动通知', + '两套机制并存不冲突', + ]), + ('pitfall', '明天的伏笔', [ + '主线程做耗时操作 = 事件循环停摆 = 整个界面冻结', + '学员项目最高频的「卡死」来源,正确解法(多线程)明天综合案例讲', + ]), + ], + 'source': '出处:p03/ch02/minimal_qt_app.cpp(exec)', + 'minutes': 15, 'segment': '上午 · 事件循环', + 'notes': """【衔接】回指 Day2"事件循环=前台服务员"的类比,今天把它拆开:服务员从队列里取单子(QEvent)派给对应窗口。然后区分两套机制:事件是"系统/框架主动通知控件",信号槽是"对象之间互相通知",同一个按钮点击会同时产生鼠标事件和 clicked 信号,两者不冲突。 +【坑卡只埋不拆】主线程阻塞坑今天只演示现象不解决:在按钮槽里塞一个 sleep(5) 的循环跑给学员看,窗口冻住、拖不动、系统提示未响应。明确说"这是明天综合案例的核心提升点,今天的任务是认清病症"。埋点到位,明天 QThread 出场时学员会有"终于等到"的投入感。 +【过渡】"事件派给控件之后,控件怎么处理?两条路。" """ +}, +{ + 'badge': '上午 · 讲授 08:30–11:00', + 'title': '事件拦截:重写 xxxEvent vs 事件过滤器', + 'boxes': [ + ('concept', None, [ + '两条拦截路径:重写 mousePressEvent() 等虚函数(只影响自己)', + 'installEventFilter()(一个对象统一拦截多个控件的事件)', + '事件有 accept()/ignore() 状态,决定是否继续向父控件传播', + ]), + ('pitfall', None, [ + '重写事件函数忘记调用基类实现(QWidget::mousePressEvent(e))——控件默认行为悄悄丢失', + ]), + ], + 'source': '出处:p03/ch09/event_override_customwidget.cpp · event_filter_mainwindow.cpp · mouse_event.cpp', + 'minutes': 25, 'segment': '上午 · 事件拦截', + 'notes': """【讲法】两条路径用"自己处理 vs 雇保安"类比:重写 xxxEvent 是自己加装门铃(只响自己家门),installEventFilter 是给整栋楼雇一个保安(一个对象拦截多个控件)。各跑一个示例对照。 +【坑卡演示】重写 mousePressEvent 不调基类版本:跑一下,发现双击不再选中文字、右键菜单没了,"默认行为悄悄丢失"。修复就是加一行 QWidget::mousePressEvent(e)。这个坑在学员项目里命中率非常高,必须当堂见过。 +【accept/ignore】只讲概念不深挖:事件先派给最内层控件,ignore() 后会向父控件冒泡,为 Day5 综合案例"关闭事件弹确认框"埋点(closeEvent)。 +【过渡】"有一种特殊事件叫重绘事件,它的处理方式和其他事件不一样。" """ +}, +{ + 'badge': '上午 · 讲授 08:30–11:00', + 'title': '绘图事件:QPainter', + 'boxes': [ + ('concept', None, [ + 'Qt 绘制是框架驱动而非「想画就画」:所有绘制只能发生在 paintEvent() 里', + '由 Qt 按需调用;数据变了想重画,调 update()(异步排队一次重绘请求)', + '绘图设备三件套 QImage / QPixmap / QPicture 作参考', + ]), + ('pitfall', None, [ + '在 paintEvent 之外直接构造 QPainter 画窗口——未定义行为', + '数据变了忘调 update()——界面不会自动重画', + ]), + ], + 'source': '出处:p03/ch10/qpainter_basic.cpp(设备类参考:paint_device_qimage.cpp 等)', + 'minutes': 25, 'segment': '上午 · 绘图', + 'notes': """【核心理念】这页最重要的一句话是"框架驱动而非想画就画",和学员过去"想画就 printf"的命令式心智彻底不同。用"只能在画室里画画,画室开门由管理员决定"类比 paintEvent 的被动性。 +【讲法】跑 qpainter_basic.cpp(画几个基本图形),然后演示 update() 的必要性:改一个数据成员不调 update,界面没反应;加上 update(),重画。这是上午随堂练的核心动作。 +【坑卡】paintEvent 外构造 QPainter 是 UB,简单说一句"别在按钮槽里直接画窗口"即可,不展开。 +【应用预告】绘图在项目里的典型用场是自绘控件(仪表盘、波形图),告诉学员"想做漂亮图表的,这是入口",给有兴趣的人留方向。 +【过渡】"刚才画的都是固定图形;要展示表格状数据,用另一种控件。" """ +}, +{ + 'badge': '上午 · 讲授 08:30–11:00', + 'title': '表格:QTableWidget 与单元格事件', + 'boxes': [ + ('concept', None, [ + 'item 类控件:数据直接塞进控件(QTableWidgetItem,new 出来交给表格接管所有权)', + '"表格事件"以信号暴露:cellClicked / cellDoubleClicked / itemChanged', + ]), + ('info', '钩子 · 背后是完整的 Model/View 架构', [ + '数据(model)与展示(view)彻底分离、同一模型可喂多个视图', + '改模型必须发 dataChanged 等信号视图才刷新——数据规模大/多视图联动时的正解', + '自学入口:examples/model_view/', + ]), + ], + 'source': '出处:examples/table_widget/qt_table_widget_basics.cpp(README)', + 'minutes': 20, 'segment': '上午 · 表格', + 'notes': """【讲法】跑 table_widget 示例:填充 3×3 加点击单元格看状态栏变化加双击编辑触发 itemChanged。重点讲 QTableWidgetItem 的所有权,又是 new 出来交给控件(QObject 父子所有权的第 N 次出现,点一句即可不再展开)。 +【两条路线的边界】QTableWidget(item 类)vs Model/View:用"自带数据的成品表格"vs"数据和展示分离的乐高"类比。明确今天用前者,上手快、中小项目够用;后者作为钩子,数据量大或多视图联动时再学。 +【钩子讲法】Model/View 只用一页概念页带过,不演示完整代码:打开 model_view 示例让学员看一眼"同一个模型喂 QListView 和 QTableView",证明分离的价值即可。深入留给自学或 Day5 案例。 +【互动】问"点击表头怎么响应?"指向 cellClicked 之外的 header sectionClicked 信号,培养"需求→查信号"的检索意识。 +【过渡】"上午最后一小时,自己拦事件、自己画图形。" """ +}, +{ + 'badge': '上午 · 课堂练习 11:00–12:00(工程师指导、答疑)', + 'title': '任务卡 1 · 事件过滤器 + 自绘图形', + 'boxes': [ + ('task', '任务卡 1', [ + '目标①:给一个控件装事件过滤器,拦截鼠标按下并打印坐标', + '目标②:在 paintEvent 里画一个组合图形(棋盘格或仪表盘刻度)', + '验收:点击控件终端能看到坐标输出;图形正确绘制(可截图验证)', + '参考:p03/ch09/event_filter_mainwindow.cpp · p03/ch10/qpainter_basic.cpp', + ]), + ], + 'minutes': 60, 'segment': '上午 · 课堂练习', + 'notes': """【组织】两个子任务相互独立,可分组并行:A 组做事件过滤器(练"雇保安"路径),B 组做自绘(练 paintEvent + update 闭环),各 30 分钟后交叉展示。 +【巡场检查点】①事件过滤器里忘调基类 eventFilter 返回 false 导致默认行为异常(上午坑卡现场版);②自绘改了数据忘 update(上午坑卡现场版);③事件过滤器忘 installEventFilter 安装,编译过但拦截不生效。 +【分层】快的学员把两题合一:自绘一个仪表盘,鼠标点击改变指针角度并立即重绘,这就是 Day5 综合案例级别的交互雏形。 +【收尾】每组演示一次成果即可,不要求两题都完成。""" +}, +{ + 'badge': '下午 · 讲授 13:30–16:00', + 'title': 'QIODevice 统一读写抽象', + 'boxes': [ + ('concept', None, [ + 'QFile / QTextStream / QDataStream 都建立在 QIODevice 统一接口上', + '之后遇到网络/串口也是同一套接口', + 'QTextStream 面向文本行;QDataStream 面向结构化二进制', + ]), + ('pitfall', None, [ + 'open() 返回值不检查——文件不存在/没权限时静默失败,后续读写全是空操作', + '文本/二进制模式混淆会破坏内容', + ]), + ], + 'source': '出处:p03/ch11/qfile_basic.cpp · qtextstream_io.cpp · qdatastream_io.cpp', + 'minutes': 20, 'segment': '下午 · 文件 IO', + 'notes': """【引入】从"程序关掉数据就没了"切入:要数据活过重启,必须落到磁盘,这就是文件 IO 的存在理由。 +【讲法】QIODevice 抽象用"统一插头"讲:今天接文件、明天接网络、后天接串口,API 都是 open/read/write/close,投资一次受益终身。三个示例各演示读写一对:qfile_basic(裸字节)、qtextstream(按行文本)、qdatastream(结构化二进制,写进去再读出来类型不丢)。 +【坑卡演示】open() 不判返回值:把文件名改成一个不存在的路径再跑,程序不报错,写进去的数据全丢(写到一个失败的 QFile 上)。修复就是 if (!file.open(...)) return; 这一行。这是健壮性思维第二课(接上午 QMessageBox 判空)。 +【过渡】"文本/二进制流都会用,但项目里数据最常落地成什么格式?JSON。" """ +}, +{ + 'badge': '下午 · 讲授 13:30–16:00', + 'title': 'JSON 解析与写入', + 'boxes': [ + ('concept', None, [ + '序列化/反序列化是一对互逆操作,正确性标准 = round-trip:写出去再读回来数据一致', + 'QJsonDocument / Object / Array / Value 四件套;QJsonValue 是能装多种类型的变体', + ]), + ('pitfall', None, [ + '不检查 QJsonParseError:格式坏的输入静默变成空文档', + '类型不匹配时 toInt()/toString() 不报错只返回默认值——数据悄悄丢,很难查', + ]), + ], + 'source': '出处:examples/json_io/qt_json_parse_write.cpp(README)', + 'minutes': 25, 'segment': '下午 · JSON', + 'notes': """【讲法】round-trip 是本页核心:用"打包寄出再拆包"类比序列化/反序列化,正确性判据不是"能生成文件"而是"写出去读回来字段一个不丢"。这个判据今晚作业的验收标准就是它。 +【四件套】画树状结构讲清层级:Document 包 Object/Array,Object 是键值对,Array 是列表,Value 是叶子(可能是 string/number/bool/object/array)。跑 json_io 示例对照代码看每一层。 +【坑卡演示】两个静默失败各演示一次:①喂一段格式错的 JSON 不检查 ParseError,得到空文档,程序继续跑还以为没数据;②toInt() 取一个字符串字段,不报错返回 0,"数据悄悄丢"。这两个是 JSON 教学最有价值的两次当堂踩坑。 +【过渡】"读写都会了,但很多同学一跑就发现:'文件找不到'。下一页是几乎每届必问的坑。" """ +}, +{ + 'badge': '下午 · 讲授 13:30–16:00 · ★坑卡', + 'title': '★ 相对路径与工作目录', + 'code': 'QFile bad("data.json"); // X 相对当前工作目录——它在哪取决于你怎么启动\nQFile good(QCoreApplication::applicationDirPath() + "/data.json"); // O 锚定可执行文件位置', + 'boxes': [ + ('concept', None, [ + '相对路径基于进程当前工作目录——不是源码目录,也不一定是可执行文件目录', + 'IDE、终端、脚本三种启动方式的工作目录可能各不相同', + ]), + ('pitfall', None, [ + '"IDE 里能读到文件,命令行跑就说不存在"——几乎每届学员必问,根源就是这页', + ]), + ], + 'minutes': 15, 'segment': '下午 · 路径坑', + 'notes': """【痛点定位】这一页是 Day4 学员呼声最高的一页:作业一开做就会有人喊"我代码和你一样为什么读不到文件"。把它单独成页就是为了让全班同时建立"工作目录"意识。 +【讲法】当堂用三种方式跑同一个程序(IDE 跑、终端在源码目录跑、终端在 build 目录跑),分别 pwd 看工作目录,同一个相对路径读到的是三个不同位置的文件。根因讲清:相对路径不锚定可执行文件,锚定的是"启动时所在的目录"。 +【正解给两条】①只读资源走 .qrc(昨天讲的资源系统,永不漂移);②可写数据用 applicationDirPath() 拼绝对路径。今晚作业验收标准里硬性要求用第②条。 +【过渡】"路径对了、文件读到了,结果一看内容——乱码。最后一个坑。" """ +}, +{ + 'badge': '下午 · 讲授 13:30–16:00 · ★坑卡', + 'title': '★ 文本编码再遇(文件版)', + 'code': 'QTextStream ts(&file);\nts.setCodec("UTF-8"); // Qt 5 默认编码随平台/区域设置而变——跨机器必须显式指定', + 'boxes': [ + ('concept', None, [ + 'Day2 界面乱码(QString/源码编码)和今天文件乱码是同一根源的两次出现', + '字节 ↔ 文字之间永远隔着一层「编码」,跨边界(源码/文件/网络)必须显式指定', + ]), + ('pitfall', None, [ + 'Windows 记事本写的文件 Linux 程序读出乱码(或反过来)——不是「文件坏了」,是两边默认编码不同', + ]), + ], + 'minutes': 15, 'segment': '下午 · 编码坑', + 'notes': """【回指】开头直接回收 Day2 编码坑的"两个世界"图:字节世界和文字世界之间的那堵墙,今天换了一扇门,QTextStream。两次出现是刻意的间隔重复,目标是让"编码要显式指定"成为条件反射。 +【讲法】演示跨平台乱码(如有 Windows 文件样本最好,没有就用两个不同编码写读对照):QTextStream 不指定 codec 时默认随系统区域设置,同一份代码在两台机器读出不同结果,这种 bug 在交付现场最致命。 +【规则收束】第三条军规(黑板补完):"跨边界必声明编码"。源码用 UTF-8、文件读写显式 setCodec、网络同理。三天的编码主线在此收口。 +【过渡】"四个坑讲完,弹药齐了。今晚的作业是明天综合案例的前身。" """ +}, +{ + 'badge': '下午 · 课堂作业 16:00–17:00(工程师答疑)', + 'title': '任务卡 2 · 本地数据存储小工具', + 'boxes': [ + ('task', '任务卡 2', [ + '目标:设计「学员信息」结构(姓名/成绩/标签),支持增加记录并保存到 JSON 文件,重启程序后读出全部记录', + '验收:至少存 2 条记录并在重启后完整读回;字段不丢失', + '验收:数据文件路径用 applicationDirPath() 拼(今天的坑卡现学现用)', + '参考:examples/json_io/ · p03/ch11/qfile_basic.cpp', + ]), + ], + 'minutes': 60, 'segment': '下午 · 作业', + 'notes': """【设计提示(开工前讲 5 分钟)】白板画结构体 Student{name, score, tag} 加两个函数 toJson/fromJson 互逆,和下午 JSON 课的 round-trip 判据一一对应。强调"读回来的字段名必须和写出去的完全一致",否则 round-trip 一测就露馅。 +【巡场检查点】对照今天四张坑卡逐个验收:①open() 判返回值;②ParseError 检查;③路径用 applicationDirPath() 不用裸相对路径;④QTextStream 显式 setCodec UTF-8。坑卡内容当天进验收,记忆效果最好。 +【分层】快的学员加"删除记录"或"按成绩排序",这直接是 Day5 综合案例的功能子集,今天做掉明天案例就轻松。 +【预告】今晚的作业就是明天综合案例的雏形,明天在此基础上加主窗口、表格、后台导入,就是一个完整小软件。""" +}, +{ + 'badge': '当日收尾', + 'title': '当日产出验证', + 'bullets': [ + '现场演示「写入 → 重启 → 读回」完整闭环', + '讲得出 open()/ParseError 两处检查为什么不能省', + '明天 Day5 全天综合项目案例:学员信息管理器——今晚作业就是它的雏形', + ], + 'minutes': 5, 'segment': '收尾', + 'notes': """【验收】抽 2 组演示完整闭环;口头追问 open 和 ParseError 两处检查的必要性,答得出才算过。 +【收线】"四天讲授到此结束。明天把你们这四天学的所有东西——窗口、控件、信号槽、文件、JSON、表格——组装成一个完整小软件,再补上最后一块拼图:多线程。"散场。""" +}, +] diff --git a/tools/teaching_ppt/day5.py b/tools/teaching_ppt/day5.py new file mode 100644 index 0000000..0f0b30a --- /dev/null +++ b/tools/teaching_ppt/day5.py @@ -0,0 +1,171 @@ +# -*- coding: utf-8 -*- +"""Day5 · 综合项目案例讲解:学员信息管理器(全天)—— 页面对应 slides/day5.html。""" + +SLIDES = [ +{ + 'kind': 'title', + 'badge': 'C++/Qt 方向实训 · 综合案例日 · 明天起进入项目开发', + 'title': 'Day 5 · 综合项目案例讲解:学员信息管理器', + 'subtitle': '需求拆解 → 界面骨架 → 数据层 → 提升:QThread 防卡界面 → 流程规范', + 'bullets': [ + '上午:需求拆解 → 界面骨架(QMainWindow + QTableWidget + 对话框)→ 数据层(Student ↔ JSON)', + '下午 1:提升——QThread 防卡界面(worker-object 模式)', + '下午 2:开发流程与规范(Git/考核)+ 分组定项目方向', + 'Day6–9 学员项目开发;Day10 下午项目答辩', + ], + 'source': '参考实现:examples/student_manager/qt_student_manager.cpp(README)', + 'minutes': 5, 'segment': '开场', + 'notes': """【定位】今天不是新知识日,是"组装日",把四天学的全部东西捏成一个完整小软件,再补最后一块拼图(多线程)。开场明确这个定位,让学员从"听课模式"切换到"项目模式"。 +【讲法建议】全天以"先看成品→拆解→回指知识点"的节奏推进,每个环节都让学员意识到"这部分我已经学过",建立项目信心。教师参考实现 examples/student_manager/ 全程作为对照。 +【时长骨架】上午 1(需求加骨架)约 90 分钟;上午 2(数据层)约 90 分钟;下午 1(QThread 新授)约 70 分钟;下午 2(流程规范加分组)约 50 分钟。每段留 15 分钟缓冲。 +【红线提醒】下午 QThread 是全天最高优先级保底项。上午超时宁可砍需求拆解的深度也不能砍 QThread,否则项目期"界面冻结/跨线程崩溃"答疑成本数倍返还。""" +}, +{ + 'badge': '上午 1 · 需求拆解 → 界面骨架', + 'title': '需求拆解:先想清楚再动手', + 'boxes': [ + ('concept', '核心概念——开发流程的第一步不是写代码', [ + '需求:管理学员记录(姓名/成绩/标签),支持添加、保存、读取、批量导入', + '拆功能 → 映射到已学组件:列表=QTableWidget(Day4)、添加=模态对话框(Day3)、保存读取=QFile+JSON(Day4)、批量导入=后台线程(今天新授)、外壳=QMainWindow(Day3)', + '拆完就得到任务清单——这正是 Day6 起你们在 Jira 上要做的事', + ]), + ], + 'minutes': 25, 'segment': '上午 · 需求拆解', + 'notes': """【地位】这一页是"从学生到工程师"思维转换的关键页:写代码之前先拆任务。中初级学员最常见的项目障碍不是"不会写"而是"不知道先写什么",本页就是治这个。 +【讲法】白板当堂拆:把"学员信息管理器"这个一句话需求,逐条拆成 5 个功能点,再把每个功能点映射到已学组件。每映射一条就问"这是哪天学的?"让全班齐声回答 Day2/3/4。这个回指动作能极大强化"我已经具备做项目的全部知识"的信心。 +【交付物】拆解的产物就是任务清单。明确告诉学员:"Day6 起你们在 Jira 上建的每一个 task,就应该长这样:一个动词开头、可验收、映射到具体技术点。"今天先有这个意识,明天分组就用得上。 +【过渡】"任务清单有了,开始拼第一块:界面骨架。" """ +}, +{ + 'badge': '上午 1 · 需求拆解 → 界面骨架', + 'title': '界面骨架走查', + 'boxes': [ + ('concept', '回指 Day3–4', [ + 'QMainWindow:菜单(文件/记录/帮助)+ 工具栏 + 状态栏 + setCentralWidget(table)', + 'QAction 一个动作三处复用(菜单/工具栏/快捷键),每个 action 都要 connect', + '添加记录:模态 exec() + QFormLayout + QDialogButtonBox', + '表格 item 所有权:new 出来交给表格——父子所有权模型第 N 次出现', + ]), + ], + 'source': '现场跑:tools/run_qt.sh qt_student_manager(离屏自测:QT_QPA_PLATFORM=offscreen)', + 'minutes': 40, 'segment': '上午 · 骨架走查', + 'notes': """【讲法】自顶向下:先跑参考实现 examples/student_manager 给全班看成品长什么样,然后关掉投影,带学员从空 main() 开始一步步搭——QApplication → MainWindow(继承 QMainWindow) → setCentralWidget(table) → 菜单/工具栏/action → connect。每一步都问"这步对应哪天的哪个示例"。 +【回指密度】本页 4 条 bullet 每条都是一次回指:QMainWindow→Day3、QAction→Day3(坑卡"忘 connect")、模态对话框→Day3、表格 item 所有权→Day4 加贯穿全课程的所有权主线。回指的密度本身就是"项目=已学内容组装"的最佳论证。 +【代码组织建议】当场把 MainWindow 拆成 .h/.cpp,演示"声明在头、实现在 cpp"的工程结构,这是 Day6 起项目实作的基本功,今天第一次正式做。 +【互动】故意演示一次"建了 action 忘 connect",菜单项灰色点了没反应,让学员用 Day3 坑卡的语言定位问题。坑卡回炉一次。 +【过渡】"骨架立住了,往里灌数据。" """ +}, +{ + 'badge': '上午 2 · 数据层', + 'title': '记录 ↔ JSON ↔ 磁盘', + 'code': 'struct Student { QString name; double score; QString tag; };\nQJsonObject toJson(const Student&); // 互逆的一对\nStudent fromJson(const QJsonObject&); // round-trip = 正确性标准', + 'boxes': [ + ('concept', '回指 Day4(昨晚作业的完整版)', [ + '数据结构与界面分离:Student 结构体不知道 QTableWidget 的存在——Model/View 思想的朴素版', + '健壮性三处检查全部在场:open() 返回值、QJsonParseError、路径用 applicationDirPath() 拼', + ]), + ('pitfall', '复盘昨晚作业的常见问题', [ + '保存和读取的字段名拼写不一致("score" vs "Score")——round-trip 一测就露馅', + '这就是为什么验收标准是「写进去读出来一致」而不是「能生成文件」', + ]), + ], + 'minutes': 45, 'segment': '上午 · 数据层', + 'notes': """【讲法】把昨晚作业的数据层"升级"成案例版本:结构体 Student 加两个自由函数 toJson/fromJson。重点讲"数据结构与界面分离":Student 不知道 QTableWidget 的存在,这是 Model/View 思想的朴素实践(回指昨天表格页的钩子)。 +【当堂对照】让 1–2 位学员展示昨晚作业的数据层代码,对照参考实现讲差异,尤其是字段名拼写不一致的坑(昨晚作业的高发问题),round-trip 测试一跑就露馅,这正是"验收标准为什么是 round-trip"的活教材。 +【三处健壮性检查】打开参考实现源码,逐处指认 open() 判返回值、ParseError 检查、applicationDirPath() 拼路径,四天坑卡的成果在此集中体现。让学员看到"这些检查不是教条,是真实代码里必须有的"。 +【代码组织】toJson/fromJson 放在独立的 student.h(纯数据加序列化),不依赖 Qt Widgets,演示"按依赖方向分层"的工程习惯。 +【过渡】"功能齐了:能加、能存、能读。但有一个场景会让它冻住,下午第一项,新授。" """ +}, +{ + 'badge': '下午 1 · 提升:多线程防卡界面(新授)', + 'title': '先看病症:把耗时活儿放主线程', + 'boxes': [ + ('pitfall', '现场演示', [ + '把 msleep 循环直接放按钮槽里 → 整个窗口冻结:点不动、拖不动、系统提示「未响应」', + 'Day4 讲过:主线程阻塞 = 事件循环停摆——学员项目最高频的「卡死」来源', + ]), + ], + 'minutes': 15, 'segment': '下午 · QThread 新授', + 'notes': """【演示流程】在参考实现的"后台导入"按钮槽里,把 moveToThread 那套注释掉,直接在工作函数里 sleep 循环,跑给全班看:点导入后窗口完全冻结 5 秒,鼠标点哪都没反应,系统标题栏提示"未响应"。 +【讲法】让学员先用 Day4 的语言描述现象:"事件循环停摆了"。然后定性:"这是你们项目里最容易出现的卡死,根源不是代码错,而是把耗时活儿放错了线程。" +【不急着给解法】演示完病症后停一下,问"你们觉得该怎么解决?"收集学员想法(多数会猜"开个线程"),自然引出下一页的 worker 模式。先有痛点再给方案,教学效果远好于直接讲语法。 +【过渡】"对,要开线程。但 Qt 开线程有个最容易被带歪的姿势,下一页讲正确做法。" """ +}, +{ + 'badge': '下午 1 · 提升:多线程防卡界面(新授)', + 'title': '正解:worker-object 模式', + 'code': 'auto* thread = new QThread(this);\nauto* worker = new ImportWorker; // 不给 parent:有 parent 禁止 moveToThread\nworker->moveToThread(thread); // 必须在 start() 之前\nconnect(thread, &QThread::started, worker, [worker]{ worker->doImport(10); });\nconnect(worker, &ImportWorker::rowReady, this, /* 更新表格 */); // 自动 Queued\nthread->start();', + 'boxes': [ + ('concept', '核心概念(三件套)', [ + '线程亲和性:每个 QObject 归属一个线程,GUI 控件必须归主线程', + 'worker 对象:官方推荐——耗时逻辑放 worker,moveToThread 搬进工作线程,而非继承 QThread 重写 run', + '跨线程信号槽自动 Queued(Day2 连接方式闭环):worker 发信号、主线程槽更新表格,不需手动加锁', + ]), + ('pitfall', None, [ + '在工作线程直接操作 GUI 控件——未定义行为,跨线程崩溃头号来源', + 'moveToThread 写在 start() 之后 / worker 带了 parent——都不生效', + ]), + ], + 'source': '最小版:examples/qthread_worker/ · 案例集成版:student_manager 的 startImport()', + 'minutes': 40, 'segment': '下午 · QThread 新授', + 'notes': """【地位】这是全天最高优先级的新授点,也是四天来埋的"主线程阻塞"暗线的收口,必须讲透,时间是 40 分钟,不能压缩。 +【讲法顺序】先讲"不要怎么做":继承 QThread 重写 run 是网上最常见的写法但官方不推荐(容易把 worker 和线程生命周期搞混),明确否定它;再讲正解 worker-object 模式三件套:①worker 是普通 QObject 不给 parent;②moveToThread 搬家;③用信号槽通信。 +【三件套逐条讲】线程亲和性用"每个 QObject 有户籍"类比;worker 模式用"雇外援干活,干完打电话汇报"类比,打电话就是信号槽;跨线程信号槽自动 Queued 是 Qt 的魔法所在(回指 Day2 的 Direct/Queued/Auto,闭环)。强调"不需要手动加锁",这是 worker 模式相比 std::thread+mutex 的核心优势。 +【坑卡演示】在工作线程里直接 table->setItem,可能崩也可能"看起来正常"(又是 UB 双面性)。规则给死:"工作线程绝不碰 GUI,只发信号让主线程碰。" +【闭环验证】参考实现的离屏自测会自动校验"导入 3 条后总数 5 条、界面未阻塞",跑一次让全班看绿色通过。 +【过渡】"最后一块拼图补上了,你们现在具备做一个完整 Qt 桌面软件的全部技能。下午最后一节,讲怎么把这些技能变成答辩成绩。" """ +}, +{ + 'badge': '下午 2 · 开发流程与规范 + 分组定方向', + 'title': 'Git 提交习惯', + 'boxes': [ + ('concept', None, [ + '每完成一个任务就提交,提交粒度对应任务粒度', + 'commit 信息说清「做了什么、为什么」——项目的可追溯记录,评审和回滚都靠它', + ]), + ('pitfall', None, [ + '攒几天代码一次性提交、信息写"update"——历史失去可追溯性,出问题无法定位是哪次改动引入', + '从 Day6 第一次 commit 开始就按规范来', + ]), + ], + 'minutes': 15, 'segment': '下午 · 流程规范', + 'notes': """【讲法】用"代码是资产、commit 历史是资产的账本"类比,账本记得乱,资产就管不住。展示一个写得好的 commit 历史(每个消息动词开头、说清意图)和一个写得烂的(全是 update)的对比。 +【规范给具体可执行标准】①粒度:一个任务一次提交;②消息格式:动词开头("添加"/"修复"/"重构"),一行说做了什么,必要时正文说为什么;③不要提交无法编译的代码。 +【当堂练习(可选 10 分钟)】让每组在刚刚的案例代码上练习一次规范提交,这是明天起每天都要做的事,今天建立肌肉记忆。 +【过渡】"代码写得好只是考核的一部分。下一页看清考核的全貌。" """ +}, +{ + 'badge': '下午 2 · 开发流程与规范 + 分组定方向', + 'title': '考核标准与分组定方向', + 'boxes': [ + ('concept', None, [ + '考核不只看代码:项目管理(任务拆解/进度可见)+ 项目技术 + 职业素养(协作/答辩表达)', + '只埋头写代码会丢掉其他维度的分', + '今天散场前每组确认:项目选题 + 初步分工 + 任务拆解草稿(上午「需求拆解」那页就是模板)', + ]), + ('info', '兴趣钩子(各 5 分钟演示,选学)', [ + '动效:QPropertyAnimation(任何 Q_PROPERTY 都能被缓动曲线驱动)', + '多状态 UI:QStateMachine(状态成为一等对象,替代一堆 bool 标志)', + '线程的更高抽象:QtConcurrent / 线程池', + ]), + ], + 'minutes': 25, 'segment': '下午 · 考核 + 分组', + 'notes': """【考核讲法】投出考核标准三维度图,重点强调"技术只占三成",这是中初级学员最容易踩的认知坑(以为代码好就满分)。项目管理维度对应今天上午的"任务拆解",职业素养对应每天的协作和最后的答辩表达,把考核标准和今天讲的方法论一一对应。 +【分组实操】留 15 分钟让每组完成三件事:①确认项目选题(参考方案书备选项目,或自拟);②初步分工(谁主界面、谁主数据、谁主协调);③用今天上午"需求拆解"的格式写一版任务拆解草稿。教师巡场逐组确认,散场前每组交一份。 +【钩子讲法】三个钩子各 5 分钟演示即可,目的有二:①给学有余力的组指明加分方向(动画/状态机/QtConcurrent 都是答辩亮点);②告诉所有人"Qt 还有很多没讲的能力,项目期可以按需自学",留个引子。 +【收尾承诺】明确告诉学员:明天起进入项目实作,工程师全程在场答疑;今天案例的全部代码(examples/student_manager/)对他们开放作参考。""" +}, +{ + 'badge': '当日收尾 · 进入项目期', + 'title': '当日产出验证 · 进入项目期', + 'code': 'QT_QPA_PLATFORM=offscreen tools/run_qt.sh qt_student_manager\n# 自测 1/2:JSON 写入 → 清空 → 读回,2 条记录完整\n# 自测 2/2:后台线程导入 3 条,总计 5 条,界面未阻塞', + 'bullets': [ + '每组提交:项目选题 + 分工说明 + 任务拆解草稿', + '明天 Day6 起:学员编码 + 工程师指导', + 'Day10 下午:项目答辩', + ], + 'minutes': 5, 'segment': '收尾', + 'notes': """【验收】跑参考实现的离屏自测,全班看两行绿色通过;每组当场提交三件套(选题/分工/拆解草稿)。 +【结训语】"五天前你们刚进门,今天你们已经能独立做一个会存数据、不卡界面、有规范流程的桌面软件。后面五天,把它变成你们自己的项目。Day10 答辩见。"散场。""" +}, +] diff --git a/tools/teaching_ppt/gen.py b/tools/teaching_ppt/gen.py new file mode 100644 index 0000000..d31feef --- /dev/null +++ b/tools/teaching_ppt/gen.py @@ -0,0 +1,239 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +"""教学幻灯片 PPT 生成器(4 天讲授 + Day5 综合案例)—— 手工维护,非 wiki 生成产物。 + +- 数据:同目录 day1.py … day5.py(每页一个 dict) +- 产物:docs/teaching/ppt/day{1..5}.pptx,页面内容与 docs/teaching/slides/*.html 对应 +- 讲解说明文字(含建议时长/讲法/演示/互动/过渡)只写入**演讲者备注**,不进主页面 + +用法(python-pptx 不在系统 Python 里,用任一装了它的解释器): + python3 -m venv ~/.venv-pptx && ~/.venv-pptx/bin/pip install python-pptx + ~/.venv-pptx/bin/python tools/teaching_ppt/gen.py +""" +import importlib +import math +import os +import sys + +from pptx import Presentation +from pptx.dml.color import RGBColor +from pptx.enum.text import MSO_ANCHOR +from pptx.oxml.ns import qn +from pptx.util import Inches, Pt + +ROOT = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +OUT_DIR = os.path.join(ROOT, 'docs', 'teaching', 'ppt') + +FONT = 'Microsoft YaHei' +MONO = 'Consolas' + +# (填充, 边框, 标题色) +BOX_STYLE = { + 'concept': (RGBColor(0xE8, 0xF5, 0xE9), RGBColor(0x2F, 0x85, 0x5A), RGBColor(0x22, 0x54, 0x3D)), + 'pitfall': (RGBColor(0xFD, 0xEC, 0xEA), RGBColor(0xC5, 0x30, 0x30), RGBColor(0x82, 0x27, 0x27)), + 'info': (RGBColor(0xEB, 0xF8, 0xFF), RGBColor(0x2B, 0x6C, 0xB0), RGBColor(0x2A, 0x43, 0x65)), + 'task': (RGBColor(0xFF, 0xFA, 0xEB), RGBColor(0xB7, 0x79, 0x1F), RGBColor(0x74, 0x4D, 0x0B)), +} +BOX_DEFAULT_HEADING = {'concept': '核心概念', 'pitfall': '常见的坑', 'info': '说明', 'task': '任务卡'} + +TEXT_DARK = RGBColor(0x1A, 0x20, 0x2C) +TEXT_GRAY = RGBColor(0x71, 0x80, 0x96) +CODE_BG = RGBColor(0x1E, 0x1E, 0x1E) +CODE_FG = RGBColor(0xD4, 0xD4, 0xD4) + +ML = 0.45 # 左右边距 (inch) +W = 13.333 - 2 * ML + + +def set_font(run, name=FONT, size=None, bold=None, color=None, italic=None): + f = run.font + f.name = name + if size is not None: + f.size = Pt(size) + if bold is not None: + f.bold = bold + if italic is not None: + f.italic = italic + if color is not None: + f.color.rgb = color + # 东亚字体要单独设置(python-pptx 的 .name 只设 latin) + rpr = run._r.get_or_add_rPr() + ea = rpr.find(qn('a:ea')) + if ea is None: + ea = rpr.makeelement(qn('a:ea'), {}) + rpr.append(ea) + ea.set('typeface', name) + + +def add_textbox(slide, left, top, width, height): + tb = slide.shapes.add_textbox(Inches(left), Inches(top), Inches(width), Inches(height)) + tf = tb.text_frame + tf.word_wrap = True + tf.margin_left = tf.margin_right = Pt(4) + tf.margin_top = tf.margin_bottom = Pt(2) + return tb, tf + + +def wrap_lines(text, per_line): + return max(1, math.ceil(len(text) / per_line)) + + +def add_box(slide, kind, heading, lines, top): + """彩色概念/坑/说明卡,返回其高度(inch)。""" + fill, border, head_color = BOX_STYLE[kind] + body_h = sum(wrap_lines(t, 62) for t in lines) * 0.28 + h = 0.42 + body_h + 0.10 + shape = slide.shapes.add_shape(1, Inches(ML), Inches(top), Inches(W), Inches(h)) # 1 = 矩形 + shape.fill.solid() + shape.fill.fore_color.rgb = fill + shape.line.color.rgb = border + shape.line.width = Pt(1.2) + shape.shadow.inherit = False + tf = shape.text_frame + tf.word_wrap = True + tf.margin_left = Pt(10) + tf.margin_right = Pt(10) + tf.margin_top = Pt(5) + tf.margin_bottom = Pt(4) + tf.vertical_anchor = MSO_ANCHOR.TOP + p = tf.paragraphs[0] + r = p.add_run() + r.text = heading or BOX_DEFAULT_HEADING[kind] + set_font(r, size=14, bold=True, color=head_color) + for line in lines: + p = tf.add_paragraph() + p.space_before = Pt(3) + r = p.add_run() + r.text = '• ' + line + set_font(r, size=13, color=TEXT_DARK) + return h + + +def add_code(slide, code, top): + lines = code.rstrip('\n').split('\n') + h = 0.26 + len(lines) * 0.245 + shape = slide.shapes.add_shape(1, Inches(ML), Inches(top), Inches(W), Inches(h)) + shape.fill.solid() + shape.fill.fore_color.rgb = CODE_BG + shape.line.fill.background() + shape.shadow.inherit = False + tf = shape.text_frame + tf.word_wrap = False + tf.margin_left = Pt(12) + tf.margin_top = Pt(6) + first = True + for line in lines: + p = tf.paragraphs[0] if first else tf.add_paragraph() + first = False + r = p.add_run() + r.text = line if line else ' ' + set_font(r, name=MONO, size=12, color=CODE_FG) + return h + + +def set_notes(slide, spec): + tf = slide.notes_slide.notes_text_frame + tf.clear() + minutes = spec.get('minutes') + segment = spec.get('segment', '') + header = f"⏱ 建议 {minutes} 分钟 · {segment}" if minutes else segment + paras = ([header] if header.strip(' ·') else []) + spec.get('notes', '').strip().split('\n') + first = True + for para in paras: + p = tf.paragraphs[0] if first else tf.add_paragraph() + first = False + r = p.add_run() + r.text = para + set_font(r, size=12, bold=(first and bool(minutes))) + + +def build_title_slide(prs, spec): + slide = prs.slides.add_slide(prs.slide_layouts[6]) + _, tf = add_textbox(slide, ML, 0.35, W, 0.35) + r = tf.paragraphs[0].add_run() + r.text = spec.get('badge', '') + set_font(r, size=12, color=TEXT_GRAY) + _, tf = add_textbox(slide, ML, 1.5, W, 1.0) + r = tf.paragraphs[0].add_run() + r.text = spec['title'] + set_font(r, size=40, bold=True, color=TEXT_DARK) + _, tf = add_textbox(slide, ML, 2.6, W, 0.6) + r = tf.paragraphs[0].add_run() + r.text = spec.get('subtitle', '') + set_font(r, size=20, color=RGBColor(0x2B, 0x6C, 0xB0)) + top = 3.5 + _, tf = add_textbox(slide, ML, top, W, 2.6) + first = True + for b in spec.get('bullets', []): + p = tf.paragraphs[0] if first else tf.add_paragraph() + first = False + p.space_before = Pt(6) + r = p.add_run() + r.text = '· ' + b + set_font(r, size=16, color=TEXT_DARK) + if spec.get('source'): + _, tf = add_textbox(slide, ML, 6.95, W, 0.4) + r = tf.paragraphs[0].add_run() + r.text = spec['source'] + set_font(r, size=11, color=TEXT_GRAY) + set_notes(slide, spec) + + +def build_content_slide(prs, spec, deck, idx): + slide = prs.slides.add_slide(prs.slide_layouts[6]) + _, tf = add_textbox(slide, ML, 0.18, W, 0.32) + r = tf.paragraphs[0].add_run() + r.text = spec.get('badge', '') + set_font(r, size=11, color=TEXT_GRAY) + _, tf = add_textbox(slide, ML, 0.5, W, 0.75) + r = tf.paragraphs[0].add_run() + r.text = spec['title'] + set_font(r, size=27, bold=True, color=TEXT_DARK) + top = 1.35 + for b in spec.get('bullets', []): + _, tf = add_textbox(slide, ML, top, W, 0.4) + r = tf.paragraphs[0].add_run() + r.text = '· ' + b + set_font(r, size=15, color=TEXT_DARK) + top += wrap_lines(b, 56) * 0.34 + 0.04 + if spec.get('code'): + top += 0.06 + top += add_code(slide, spec['code'], top) + 0.14 + for box in spec.get('boxes', []): + kind, heading, lines = box + top += add_box(slide, kind, heading, lines, top) + 0.14 + if spec.get('source'): + _, tf = add_textbox(slide, ML, 7.02, W, 0.35) + r = tf.paragraphs[0].add_run() + r.text = spec['source'] + set_font(r, size=10.5, color=TEXT_GRAY) + if top > 7.05: + print(f' [overflow] {deck} 第{idx}页「{spec["title"]}」内容高度 {top:.2f}in > 7.05in,请精简') + set_notes(slide, spec) + + +def build_deck(mod_name): + mod = importlib.import_module(mod_name) + prs = Presentation() + prs.slide_width = Inches(13.333) + prs.slide_height = Inches(7.5) + for i, spec in enumerate(mod.SLIDES, 1): + if spec.get('kind') == 'title': + build_title_slide(prs, spec) + else: + build_content_slide(prs, spec, mod_name, i) + out = os.path.join(OUT_DIR, f'{mod_name}.pptx') + prs.save(out) + total = sum(float(s.get('minutes', 0) or 0) for s in mod.SLIDES) + print(f'{out}: {len(mod.SLIDES)} 页, 备注时长合计 ≈ {total:.0f} 分钟') + + +def main(): + os.makedirs(OUT_DIR, exist_ok=True) + sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) + for n in range(1, 6): + build_deck(f'day{n}') + + +if __name__ == '__main__': + main()