PythonGui->显示窗口

Python版本:Py2.7

PyQt4版本:PyQt4-4.11.4


示例1

<span style="font-size:24px;">import sys</span>
<span style="font-size:24px;">
</span>
<span style="font-size:24px;">#<span style="color: rgb(75, 75, 75); font-family: georgia, verdana, Arial, helvetica, sans-seriff; line-height: 18px;">PyQt4的基本模块都在QtGui中</span></span>
<span style="font-size:24px;">from PyQt4 import QtGui</span>
<span style="font-size:24px;">
</span>
<span style="font-size:24px;">#<span style="color: rgb(75, 75, 75); font-family: georgia, verdana, Arial, helvetica, sans-seriff; line-height: 18px;">每一个PyQt4程序都必须创建一个application对象,application类位于QtGui模块中。sys.argv传入命令行参数。Python脚本可以通过shell运行,这样我们就可以对程序的启动进行控制</span></span>
<span style="font-size:24px;">app = QtGui.QApplication(sys.argv)</span>
<span style="font-size:24px;">
</span>
<span style="font-size:24px;"><span style="color: rgb(75, 75, 75); font-family: georgia, verdana, Arial, helvetica, sans-seriff; line-height: 18px;">#每一个PyQt4程序都必须创建一个application对象,application类位于QtGui模块中。sys.argv传入命令行参数。Python脚本可以通过shell运行,这样我们就可以对程序的启动进行控制</span>
widget = QtGui.QWidget()</span>
<span style="font-size:24px;">
</span>
<span style="font-size:24px;">#<span style="color: rgb(75, 75, 75); font-family: georgia, verdana, Arial, helvetica, sans-seriff; line-height: 20.8px;"> </span><span style="line-height: 18px; color: rgb(75, 75, 75); font-family: georgia, verdana, Arial, helvetica, sans-seriff;">resize()方法调整widget的大小,在这里我们设定宽度为250px,高度为150px</span>
widget.resize(250, 150)</span>
<span style="font-size:24px;">
</span>
<span style="font-size:24px;"><span style="color: rgb(75, 75, 75); font-family: georgia, verdana, Arial, helvetica, sans-seriff; line-height: 20.8px;"> #</span><span style="line-height: 18px; color: rgb(75, 75, 75); font-family: georgia, verdana, Arial, helvetica, sans-seriff;">setWindowTitle()方法设置了窗口的title,title在titlebar中显示</span>
widget.setWindowTitle('simple')</span>
<span style="font-size:24px;">
</span>
<span style="font-size:24px;"><span style="color: rgb(75, 75, 75); font-family: georgia, verdana, Arial, helvetica, sans-seriff; line-height: 18px;">#调用show()方法将窗口显示出来</span>
widget.show()</span>
<span style="font-size:24px;">
</span>
<span style="font-size:24px;"><span style="color: rgb(75, 75, 75); font-family: georgia, verdana, Arial, helvetica, sans-seriff; line-height: 18px;">#最后,就会进入application的事件循环。事件处理就从这里开始,循环不断的从窗口接受需要处理的事件,然后将其分发给相应的时间处理方法。通过调用exit()方法或者销毁widget来终止事件循环,调用sys.exit()方法确保了程序可以明确的退出,也就是程序退出后会告知系统</span>
sys.exit(app.exec_())</span>


Error: Error: Parse error on line 3: ...--> C[subprocess.run('video_detection2.p -----------------------^ Expecting 'SQE', 'DOUBLECIRCLEEND', 'PE', '-)', 'STADIUMEND', 'SUBROUTINEEND', 'PIPE', 'CYLINDEREND', 'DIAMOND_STOP', 'TAGEND', 'TRAPEND', 'INVTRAPEND', 'UNICODE_TEXT', 'TEXT', 'TAGSTART', got 'PS' graph TD; A[video_detection_main] --> B[run_script]; B --> C[subprocess.run('video_detection2.py')]; A --> D[window.destroy]; subgraph video_detection2.py E[selected_video_path = None]; F[label_text = None]; G[cap = None]; H[GUI设计]; I[upload_video(canvas)]; J[return_main()]; K[video_detection()]; L[创建功能按钮]; H --> M[tk.Tk() - 创建主窗口]; H --> N[设置窗口大小]; H --> O[创建背景画布]; H --> P[加载背景图像]; H --> Q[在背景画布上绘制背景图像]; I --> R[filedialog.askopenfilename() - 选择视频文件]; I --> S[cv2.VideoCapture() - 打开视频文件]; I --> T[读取视频的第一帧]; I --> U[将OpenCV的BGR图像转换为RGB图像]; I --> V[将图像转换为PIL格式]; I --> W[将PIL图像转换为Tkinter兼容的图片]; I --> X[在画布上显示图像]; I --> Y[使用after方法更新画布]; J --> Z[subprocess.run('EfficientNet_uI_main.py')]; J --> AA[window.destroy]; K --> AB[cap.release() - 关闭上传视频正在播放的视频]; K --> AC[messagebox.showerror - 提示请先上传视频]; K --> AD[获取上传的视频文件名称]; K --> AE[获取E:\\ch_PP-OCRv3\\output文件夹中的所有视频文件]; K --> AF[检查是否有匹配的视频文件]; K --> AG[播放匹配的视频文件]; K --> AH[创建一个新窗口]; K --> AI[创建一个画布用于在新窗口显示视频]; K --> AJ[在新窗口的画布上播放检测完的视频]; K --> AK[释放视频流]; K --> AL[弹出错误消息框]; L --> AM[创建一个大的画布区域]; L --> AN[创建按钮并放置在主窗口上]; L --> AO[将按钮放置在主窗口上]; end
03-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值