{ "cells": [ { "cell_type": "markdown", "id": "1eee1a83-0378-4ba1-b3b6-9e0be3acc238", "metadata": {}, "source": [ "# 1. 搭建程序的框架" ] }, { "cell_type": "markdown", "id": "72b9e71d-9df2-4323-a924-f9dad4158fc1", "metadata": {}, "source": [ "- 使用的类:\n", " - QApplication\n", " - QDialog" ] }, { "cell_type": "markdown", "id": "0e78203e-cab4-4d91-9333-b89b42c1342d", "metadata": {}, "source": [ "- 搭建工程结构\n", " - main.py 入口\n", " - 各级目录存放不同的模块" ] }, { "attachments": { "40b8b01e-d86d-44f3-8bcc-41903f28385b.png": { "image/png": "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" } }, "cell_type": "markdown", "id": "e519ea39-2e47-496f-a1dd-a3762a22357b", "metadata": {}, "source": [ "- ![image.png](attachment:40b8b01e-d86d-44f3-8bcc-41903f28385b.png)" ] }, { "cell_type": "markdown", "id": "1d3ccee1-778e-401d-a56a-8f386ca76438", "metadata": {}, "source": [ "- 继承(扩展)QApplication实现自己的Qt应用。" ] }, { "cell_type": "markdown", "id": "97312139-bf7f-40a3-8214-992cbb54c429", "metadata": {}, "source": [ "- 继承QDailog实现自己的Qt窗体" ] }, { "cell_type": "markdown", "id": "9143b267-92b3-4e9f-a4bd-da4c813d241c", "metadata": {}, "source": [ "- 类(对象)的关系:\n", " - 包含关系(聚合关系-关联关系)" ] }, { "cell_type": "markdown", "id": "b4bb16a4-12ab-45b7-90cc-709ccd998476", "metadata": {}, "source": [ "- 对话框的实现\n", " - myapp.py的实现" ] }, { "cell_type": "markdown", "id": "92aa1a0b-cf06-49ff-a0e3-bff9df28e531", "metadata": {}, "source": [ "```python\n", "from PyQt5.QtWidgets import QDialog\n", "\n", "class MyDialog(QDialog):\n", " def __init__(self):\n", " super(MyDialog, self).__init__()\n", " # 对话框的初始化在此实现\n", " self.setWindowTitle(\"我的窗体\")\n", " self.resize(1024, 768)\n", " \n", "\n", "```" ] }, { "cell_type": "markdown", "id": "dc64dfe2-05bb-43db-b16f-030c13702efa", "metadata": {}, "source": [ "- 应用的实现" ] }, { "cell_type": "markdown", "id": "e399b7d6-eb31-48f3-bab2-9b35b9d34229", "metadata": {}, "source": [ "```python\n", "from PyQt5.QtWidgets import QApplication\n", "from win.frm.mydialog import MyDialog\n", "\n", "class MyApp(QApplication):\n", " # 编写构造器:调用父类构造器\n", " def __init__(self):\n", " # 调用福利构造器\n", " super(MyApp, self).__init__([]) # 命令行参数\n", " # 增加自己的实现\n", " self.dlg = MyDialog()\n", " self.dlg.show()\n", "\n", "```" ] }, { "cell_type": "markdown", "id": "e6735531-1320-40c8-887e-5826b31b6608", "metadata": {}, "source": [ "- 入口的实现" ] }, { "cell_type": "markdown", "id": "70918bb5-dc3e-4b7b-93f2-2db5609a4eef", "metadata": {}, "source": [ "```python\n", "from app.myapp import MyApp\n", "import sys\n", "\n", "app = MyApp()\n", "status = app.exec()\n", "sys.exit(status) \n", "```" ] }, { "cell_type": "markdown", "id": "81403784-b08e-4869-b1d5-d5fc8b93514f", "metadata": {}, "source": [ "- 实现一个运行脚本" ] }, { "cell_type": "markdown", "id": "2a7b83ee-a299-4f25-a5de-38aafe92e356", "metadata": {}, "source": [ "```sh\n", "@python -m main\n", "```" ] }, { "cell_type": "markdown", "id": "a69792b4-a4b9-4239-81c4-d31a2b2c4777", "metadata": {}, "source": [ "# 2. 设计并实现UI" ] }, { "cell_type": "markdown", "id": "450bddc9-7575-4c05-8778-9638c0a99d03", "metadata": {}, "source": [ "- 需要两个工具\n", " - 设计器:designer.exe\n", " - 翻译器:pyuic5.exe" ] }, { "cell_type": "markdown", "id": "12533e6e-75c6-4a58-8344-09cdbed41b9e", "metadata": {}, "source": [ "- 安装:\n", " - `pip install pyqt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple`\n", "- 位置:\n", " - designer的位置:\n", " - `$PYTHON_HOME$\\Lib\\site-packages\\qt5_applications\\Qt\\bin`\n", " - pyuic5的位置:\n", " - `$PYTHON_HOME$\\Scripts`" ] }, { "cell_type": "markdown", "id": "84e63934-63ec-4115-ac1c-7382f7bb1a8a", "metadata": {}, "source": [ "- 打开designer设计UI\n", " - 对象名\n", " - 其他属性\n", " - 标题\n", " - 大小\n", " - 样式\n", " - 保存到工程指定的目录" ] }, { "cell_type": "markdown", "id": "fb544ec3-997e-4359-86c8-5c23521ccc0e", "metadata": {}, "source": [ "- 把ui文件翻译成python文件\n", " - `pyuic5 win//uis/video.ui -o win/uis/ui_video.py`" ] }, { "cell_type": "markdown", "id": "b50390e5-eed1-4147-a16b-d86a17eefc3a", "metadata": {}, "source": [ "- 使用翻译的文件\n", " - 引入:`from win.uis.ui_video import Ui_DlgVideo `\n", " - 生对象:`self.ui = Ui_DlgVideo()`\n", " - 调用:`self.ui.setupUi(self)`" ] }, { "cell_type": "markdown", "id": "d61b9343-73f9-459c-b328-b18cf6fd3e21", "metadata": {}, "source": [ "# 3. 多线程实现视频采集任务" ] }, { "cell_type": "markdown", "id": "1a10155c-597c-4ec1-abe9-40a306a4ec8f", "metadata": {}, "source": [ "- 继承线程实现自己的视频采集任务线程。" ] }, { "cell_type": "markdown", "id": "6bd5ac6e-e251-4f7e-b7ac-dafd0b5f4017", "metadata": {}, "source": [ "```python\n", "# 1. 引入\n", "from PyQt5.QtCore import QThread\n", "\n", "# 2. 继承\n", "class MyTh(QThread):\n", " # 3. 构造器\n", " def __init__(self):\n", " super(MyTh, self).__init__()\n", " \n", " # 4. 覆盖原来的任务代码:\n", " def run(self): # run必须叫这个名字\n", " # 任务的代码实现\n", " print(\"我的线程\")\n", " # 抓取视频\n", "```" ] }, { "cell_type": "markdown", "id": "ae938d6d-da20-41c4-b9ac-20da30494551", "metadata": {}, "source": [ "- 生成线程对象,并开始任务\n", " - 引入\n", " - 成成对象\n", " - 调用:启动" ] }, { "cell_type": "markdown", "id": "7161f906-336b-41e7-8ee2-dc03d5310015", "metadata": {}, "source": [ "# 4. 视频采集" ] }, { "cell_type": "markdown", "id": "52c88497-1627-45cc-9114-45e716981522", "metadata": {}, "source": [ "- 引入视频的抓取的类\n", "- 生成对象\n", "- 处理数据" ] }, { "cell_type": "markdown", "id": "8fe11541-19db-40e6-a54e-fb673ac85fdc", "metadata": {}, "source": [ "# 5. 实现视频通信" ] }, { "cell_type": "markdown", "id": "2acd0704-3083-4935-926a-fb7b53a214b2", "metadata": {}, "source": [ "- 定义一个信号:signal\n", "- 发送信号" ] }, { "cell_type": "markdown", "id": "e9a53a3f-fcc1-47e5-998f-21369960d809", "metadata": {}, "source": [ "- 实现图像的显示与处理函数:槽函数slot function\n", "- 绑定信号与槽函数" ] }, { "cell_type": "markdown", "id": "78c165a9-4ab5-46a5-ba13-06f92351c446", "metadata": {}, "source": [ "# 6. 图像的显示" ] }, { "cell_type": "markdown", "id": "691d7fca-a869-4267-a295-154bd4f3da38", "metadata": {}, "source": [] }, { "cell_type": "markdown", "id": "e20e4db0-f45d-46df-81df-81ca3c76ac27", "metadata": {}, "source": [ "# 7. 图像处理(numpy,opencv)" ] }, { "cell_type": "markdown", "id": "6940b35b-36e9-4138-9763-e1a22d5949d9", "metadata": {}, "source": [] }, { "cell_type": "markdown", "id": "52ad45b8-b2e4-4454-824e-2d7df053e7f1", "metadata": {}, "source": [ "# 8. 完美的程序" ] }, { "cell_type": "markdown", "id": "f7215bd9-1ab7-4bcc-adae-bb205ac1cef7", "metadata": {}, "source": [ "- 设备释放\n", "- 窗体关闭的时候关闭线程" ] }, { "cell_type": "code", "execution_count": null, "id": "5d702f8e-78b4-477b-b375-67aad70989bb", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.13" } }, "nbformat": 4, "nbformat_minor": 5 }