Skip to content

一个正在开发中的,专为大型触摸屏幕或电子白板教学而制作的手写批注程序

License

Notifications You must be signed in to change notification settings

hujinming0722/EasyWriteWhiteBoard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

全屏叠加式白板应用

项目介绍

这是一个基于Qt 6.10和PySide6开发的全屏叠加式白板应用,专为PPT演示设计,可以在PPT播放时叠加绘制,支持多种绘图工具和PPT翻页联动功能。

核心功能

  1. PPT叠加使用:透明背景,可直接在PPT上绘制
  2. 悬浮窗工具:可拖动的工具面板,包含各种绘图工具
  3. 形状绘制:支持画笔、直线、矩形、圆形、椭圆等形状
  4. 翻页清屏:PPT翻页时自动清空绘图内容
  5. 橡皮擦双击交互:橡皮擦模式下双击显示清屏按钮

安装和运行

1. 安装依赖

pip install pyside6

2. 转换UI文件

pyside6-uic ui/mainui.ui -o ui/Ui_mainui.py

3. 运行应用

python main.py

使用说明

窗口控制

  • 退出全屏:点击悬浮窗的"退出"按钮或按下Esc
  • 悬浮窗拖动:拖动悬浮窗的空白区域可以移动位置

绘图工具

工具切换

  • 画笔:自由绘制,快捷键P
  • 直线:绘制直线,快捷键L
  • 矩形:绘制矩形,快捷键R
  • 圆形:绘制圆形,快捷键C
  • 椭圆:绘制椭圆,快捷键O
  • 橡皮擦:擦除绘制内容,快捷键E

绘图操作

  • 形状绘制:点击并拖动鼠标,松开后完成绘制
  • 自由绘制:按住鼠标并拖动,实时绘制线条
  • 橡皮擦:按住鼠标并拖动,使用白色线条覆盖原有内容

工具设置

  • 颜色选择:点击颜色按钮,在弹出的对话框中选择颜色
  • 粗细调节:点击粗细按钮,输入1-20之间的数值设置线条粗细

PPT操作

翻页控制

  • 上一页:点击"PPT上一页"按钮或按下Left/Up
  • 下一页:点击"PPT下一页"按钮或按下Right/Down

翻页清屏

  • 每次PPT翻页时,绘图内容会自动清空

清屏功能

  • 自动清屏:PPT翻页时自动清屏
  • 手动清屏:在橡皮擦模式下双击绘图区域,然后点击"清屏"按钮
  • 清屏按钮:双击后显示,3秒后自动隐藏

项目结构

EasyWriteWhiteBoard/
├── main.py              # 主程序文件
├── ui/
│   ├── mainui.ui        # UI设计文件
│   └── Ui_mainui.py     # 转换后的Python模块
└── README.md            # 项目说明文档

技术实现

透明窗口

  • 使用Qt.WA_TranslucentBackground实现主窗口透明
  • 绘图内容绘制在QPixmap上,实现无遮挡叠加

悬浮窗设计

  • 独立的QWidget窗口,使用Qt.Tool标志实现悬浮效果
  • 自定义鼠标事件处理,支持窗口拖动

绘图功能

  • 使用QPainter和QPixmap实现高性能绘图
  • 支持实时预览和多种绘图模式

PPT翻页联动

  • 通过QGuiApplication::postEvent模拟系统级键盘事件
  • 翻页时自动清空绘图缓存

双击交互

  • 监听鼠标双击事件,在橡皮擦模式下显示清屏按钮
  • 使用定时器实现清屏按钮的自动隐藏

注意事项

  1. PPT窗口激活:使用PPT翻页功能时,需要确保PPT窗口处于激活状态
  2. 清屏按钮:清屏按钮仅在橡皮擦模式下双击绘图区域才会显示
  3. 悬浮窗拖动:只能拖动悬浮窗的空白区域,点击按钮不会触发拖动
  4. 性能优化:绘图内容存储在QPixmap中,避免重复绘制导致的卡顿

兼容性

  • Windows:支持Windows 10/11
  • macOS:支持macOS 10.14及以上版本
  • PPT软件:支持Microsoft PowerPoint、WPS演示等常见演示软件

扩展开发

控件命名规范

  • 绘图区域:drawing_board
  • 清屏按钮:clearBtn
  • 悬浮窗:FloatToolWidget
  • 工具按钮:btnPen, btnLine, btnRect, btnCircle, btnEllipse, btnEraser
  • 功能按钮:btnPPTPrev, btnPPTNext, btnExit

自定义功能

  • 可以通过修改DrawingBoard类扩展绘图功能
  • 可以通过修改FloatToolWidget类扩展工具面板功能
  • 可以通过修改MainWindow类扩展主窗口功能

故障排除

应用无法启动

  • 检查PySide6是否正确安装
  • 检查UI文件是否成功转换为Python模块

PPT翻页无效

  • 确保PPT窗口处于激活状态
  • 检查键盘快捷键是否被其他程序占用

绘图不显示

  • 检查绘图工具是否正确选择
  • 检查颜色和粗细设置是否合适

清屏按钮不显示

  • 确保当前处于橡皮擦模式
  • 确保双击的是绘图区域,而不是悬浮窗或其他控件

许可证

MIT License 一个正在开发中的,专为大型触摸屏幕或电子白板教学而制作的手写批注程序

About

一个正在开发中的,专为大型触摸屏幕或电子白板教学而制作的手写批注程序

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors