PyQt的资料汇总(Python图形界面与Opencv)

最近在做老师给布置的一个项目,功能都基本实现以后,老师让把这个项目整体做成一个界面,当时脑子里首先想到了C#做界面,于是去学了几天的C#窗体程序设计,某天突然想到我的程序是用Python写的,和C#交互的话,会不会很麻烦,后来去网上搜了下,环境配置加之老师还要求窗体可以对源程序中的一些参数进行修改等等,回首自己的C++基础,不堪回首,于是果断放弃,选择了Python的图形化编程——PyQt

一.资料搜集

1.书籍:虽然看书比较费时间,但却是很全面的。

我推荐《PyQt5快速开发与实战》这本书。
附上电子书:https://pan.baidu.com/s/1KR-G43F_uxZEU3blobj-Aw
密码:3jon
(里面有配套的源代码、案例,更方便理解)
PS:这本书我看了不到200页,毕竟自己看那么多也记不住,可以当作工具书查,界面用到什么控件或什么功能就去书中查,挺方便的。
P111:Qt Designer布局的步骤
P127:子菜单的输入中,不能输出为中文,可以先用英文,然后去动作编辑器中改成中文

2.视频:PyQt的快速入门视频:

http://www.python3.vip/tut/py/gui/qt_01/
其中,有一些案例可以帮助快速入门,包括PyQt的设计流程,以及最后界面设计好了之后,将Py文件转化为exe文件,让别人可以不需要创建相关的配置环境就可以直接看到效果。
PS:①若出现报错:pyside2出现qt.qpa.plugin:
Could not find the Qt platform plugin “windows” in ""错误解决办法
参考博客:https://blog.csdn.net/ouening/article/details/81093697
②Qt designer与Python的交互式转换:
第一种方法:动态加载UI文件,实现代码与界面的分离。将Qt designer中做好的界面保存生成UI文件,然后去Python程序中调用先前保存的UI文件。有了界面定义文件,我们的Python程序就可以从文件中加载UI定义,并且动态创建一个相应的窗口对象。

# 直接加载UI文件显示窗体
from PySide2.QtWidgets import QApplication, QMessageBox
from PySide2.QtUiTools import QUiLoader
from PySide2.QtCore import QFile

class Stats:
    def __init__(self):
        # 从文件中加载UI定义
        qfile_stats = QFile("Main WinSignalSlog01.ui")
        qfile_stats.open(QFile.ReadOnly)
        qfile_stats.close()
        
        # 从 UI 定义中动态 创建一个相应的窗口对象
        # 注意:里面的控件对象也成为窗口对象的属性了
        # 比如 self.ui.button , self.ui.textEdit
        self.ui = QUiLoader().load(qfile_stats)
        
app = QApplication([])
stats = Stats()
stats.ui.show()
app.exec_()

第二种方法:转化UI文件为Python代码:先把UI文件直接转化为包含界面定义的Python代码文件,然后在你的程序中使用定义界面的类。
在这里插入图片描述
在这里插入图片描述
通常采用动态加载比较方便,因为改动界面后,不需要转化,直接运行,特别方便。如果程序里面有非qt designer提供的控件,这时候,需要在代码里面加上一些额外的声明,而且 可能还会有奇怪的问题。往往就要采用转化Python代码的方法。

二.环境配置

1.模块的安装:pip install pyside2 -i https://pypi.douban.com/simple
(PS:如果你的程序要发布给客户使用,建议使用32位的Python解释器,这样打包发布的exe程序可以兼容32位的Windows)
推荐直接装个anaconda,然后再去安装其他需要的模块
pip install PyQt5 -i https://pypi.douban.com/simple
2.Pycharm+Opencv+PyQt环境配置与简单使用
https://www.jianshu.com/p/344bdf61e69e按照这个步骤安装,若是装的Anaconda,则是这样:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
除了路径稍有不同,其他的都一样,使用方法在上面的博文中已经很清楚了。

三.PyQt与Opencv

PS:虽然网上关于PyQt的资料很多,但我心里清除,自己不过是程序写好了之后需要一个简单的界面控制程序罢了,学的方向是图像处理与机器学习,在界面设计这块仅仅能够入个门就足够了,抱着这个心态,自己也不会钻研太深,于是就想着通过直接的PyQt与Opencv小案例可以很好的入个门,但找了下发现没有什么教学资源,油管上找了个视频,没字幕却内容详细,准备这几天学习顺便把其中的小案例都记录下来,以防以后用得到。
下面是我在学习的过程中找到的对我而言有帮助的博客,记录下来,方便随时翻阅:
Pycharm+Opencv+PyQt的简单使用
https://blog.csdn.net/qq_37541097/article/details/79143898
pyqt5界面的布局与资源文件的载入
https://blog.csdn.net/qq_37541097/article/details/89500942
使用PyQt5+OpenCV显示摄像头图像
https://zhuanlan.zhihu.com/p/95624918
PYQT5中实现图片轮播,Qlabel点击相应图片显示原图
http://www.luyixian.cn/news_show_335016.aspx
https://blog.csdn.net/weixin_44500833/article/details/105738911

四.python打包exe文件出错遇到的坑

随机py中模块引入的更多,每次打包都会出现这样那样的问题,
遇到报错:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in position 130: invalid continuation byte
https://blog.csdn.net/qq_41185868/article/details/80599390
python打包exe文件出错
https://blog.csdn.net/weixin_44039297/article/details/103734766
解决pyinstaller打包sklearn等库出现的问题: 提示failed to execute script xxx
https://blog.csdn.net/qq_40587575/article/details/86500445
(PS:那天我打包一个项目时,遇到的一个问题,大概意思是说找不到这个库等等,后来再次打包pyinstaller时,又报错说另一个模块找不到了,就这样 pyinstaller -F -c test_code.py --hidden-import sklearn.utils._cython_blas --hidden-import sklearn.neighbors._typedefs --hidden-import sklearn.neighbors._quad_tree --hidden-import sklearn.tree --hidden-import sklearn.tree._utils,还是报错。最后我在桌面重新建了个文件夹,把需要的文件都放进去,再进行打包处理,成功了。。。猜测可能是路径的问题)

  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

boss-dog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值