---作者疆,未经允许,严禁转载,违权必究---
---欢迎指正,需要源码和文件可站内私信联系---
功能说明:PyQt界面程序,触发播放按钮实现显示图片、一窗体一屏一放视频、一窗体多屏多放视频功能
运行环境:Windows7、Python3、PyQt5、Pycharm5.0
一、环境搭建
1.PyQt5和PyQt5-tools安装(注:PyQt5与PyQt4存在一定区别)
pip安装命令为pipinstallPyQt5和pipinstallPyQt5-tools
2.Pycharm中QtDesigner(用于绘画界面)和PyUIC(将界面ui文件转化为py文件供继承)配置
Pycharm中菜单栏依此点击File----Settings----Tools----ExternalTools-----点击“+”号,按下图分别添加QtDesigner、PyUIC
Program参数为“designer.exe”的全路径,Workingdirectory:$ProjectFileDir$
Program参数为“python.exe”的全路径,Arguments:-mPyQt5.uic.pyuic$FileName$-o$FileNameWithoutExtension$.py
3.QtDesigner工具栏菜单汉化(英语大神可跳过此步)
下载designer_zh_CN.qm将它放在你的...\Lib\site-packages\pyqt5-tools\translations文件夹中,重新打开QT就汉化成功了
二、实例上手----实现显示图片
----------------上述3个博客建议看下,可以有个初步了解,也可跳过----------------------
1.使用QtDesigner设计界面
注:作为我们初学者,先别管mainwindows、Widget、Dialog的区别(之间存在继承关系、功能略有差异)
本节涉及的控件主要包括label、PushButton等,只需在控件箱将相应控件拖入面板
以label控件为例,拖入面板,点击label控件,在右侧一列属性栏内编辑其属性,一般需要改objectName(通过pythpn代码调用这个控件的变量名,尽量取有意义的名字)、text(显示文字)、宽度、高度等属性
pushbotton控件同样照此操作,得到的简易界面如下图所示
保存当前窗体(如:起名为test.ui),将自动生成xx.ui文件(实际上是一个xml文件,可用任何文本编辑器打开),此时,对该文件右键ExternalTools----PyUIC,“xx.ui”文件在同目录下被转为“xx.py”文件以便继承,转换为“xx.py”的原因是IDE能自动识别对象和函数。然后在当前目录下新建一个.py文件(如下图中show_single_channel.py)。
在该py文件中添加如下头文件
创建一个类MyApp,继承Ui_MainWindow类,类内添加初始化方法
类内添加槽函数及槽函数需调用的函数等,当点击pushButton将触发槽函数相应事件
添加主函数
实现效果:点击播放按钮,屏幕显示该图片
三、实例上手----实现一窗体一屏一放
项目名:qt_show_single(百度云盘备份不对外提供)
实现效果:点击播放按钮,屏幕实时播放视频
与实例二代码逻辑上无本质上区别,主要修改槽函数即可,修改说明可见如下截图注释
仅提供代码截图(show_single_channel.py):
四、实例上手----实现一窗体多屏多放
项目名:qt_show_double(百度云盘备份不对外提供)
实现效果:分别点击播放1、播放2,屏幕实时播放对应视频。
代码说明:按上述操作单屏能实现的话,多屏是一样的道理,主要问题在于代码如何写的更精简,由于项目要求,在此不提供参考代码。
五、常见报错
1.nativeQtsignalisnotcallable
将信号与槽函数未关联,此处若缺少connect会导致该错误发生。
2.环境的错误:如PyQt4与PyQt5环境不同导致的,具体可百度解决。