基于PyQT5实现垃圾分类小程序

本文记录了一位初学者使用Python和PyQT5开发垃圾分类小程序的过程,包括配置环境、界面制作、逻辑与界面分离、代码编写及程序封装。文章分享了开发中的踩坑经历,适合初学者参考。
摘要由CSDN通过智能技术生成

目录

前言

配置环境

正式开发

开发前准备

界面制作

踩坑日记一

逻辑与界面分离

代码编写

踩坑日记二

踩坑日记三

踩坑日记四

程序封装

最终效果

后记


前言

         本人最近接到一个小任务,用python完成一个垃圾分类小程序。功能要求如下:用户可以通过点击不同的垃圾桶判断屏幕上出现的垃圾种类,判断对错,普及垃圾分类知识。

        说来有趣,本人也是刚刚转行到程序员行列,各种知识学习都还不够,只能一边做一边学,网上找各种教程学习,也是踩了不少坑,不过好在最后花了一点时间把任务完成了。作为一名初学者,觉得还是有必要记录下辛酸历程,为后面的学习之路做个铺垫。话不多说,开整!

        首先介绍一下工作环境:

  • Windows 10
  • Python 3.9
  • pycharm2020.1
  • PyQt5
  • QTdesigner

配置环境

首先就是安装各种环境,这里不多赘述,其他博主已经介绍的很详细了(但是本人并没有在pycharm中安装QTdesigner和ui转py的外部工具,这个后面会讲到)要注意的是python版本的问题在安装PyQT5的时候命令不一样

pip install PyQt5
pip3 install PyQt5

正式开发

开发前准备

        第一步是理清思路(这点很重要,敲黑板划重点):

        这里的思路包括整个项目的进行流程,界面之间的跳转逻辑,功能实现中的函数逻辑。后面都会详细讲到,这里就不讲那么多,但是再次强调这一步真的很重要,且对于逻辑能力不强的同学来说,好记性不如烂笔头。QAQ

界面制作

        鉴于之前接触过C++的QT可视化界面开发,所以本人第二步选择制作出所有的界面。鉴于QT相对来说比渐简单,拖拖拽拽就可以形成还不错的界面,这里就简单介绍一下部分控件的属性设置。

        先来看看本人最后完成的界面(由于本次项目要求不高,所以界面并没有进行太多的美化,各位大佬可以利用QSS等对界面进行美化)

 这里就不讲具体制作,只选择讲几个我觉得比较重要的属性。

1、最小最大尺寸

         很好理解的属性,这里笔者建议想要获得更好的视觉效果最好是将界面的最最小最大尺寸都进行设置,这样将会避免因为拖动造成的不必要的界面美观问题。

2、label的部分属性

        笔者界面的背景选择了label来进行设置,在label中显示图片的方法就是在pixmap属性中选择对应的图片。这里笔者遇到了第一个坑,在QT中是需要加入资源文件才能调用图片的,但是在后续的应用程序打包过程中,笔者发现qrc资源文件在打包时有更多繁琐的步骤,所以在返回来重新检查的时候笔者发现,只要在py代码中将图片使用绝对地址调用就不存在这个问题,简单好用。所以在这里笔者就不介绍资源文件的使用了,网上有很多教程,但是我个人觉得新手还是不要使用了,土方法:使用绝对路径有时候已经够用了。(更正:qrc文件在打包时需要转化为py文件才能打包,而如果使用了绝对路径的话换一台电脑就会因为路径不同而造成图片打不开,素以还是建议大家使用qrc资源文件,添加方法网络上有。qrc转py文件的方式为:在目录文件夹运行下面一行代码

pyrcc5 -o ui_rc.py ui.qrc

完成转化后就可以在后面直接进行封装。但是请注意ui文件转换的py文件中需导入资源文件<运用本人所介绍的命令行转化的会自动导入>)scaledContents属性是让内容自适应label标签的大小,建议大家勾选。alignment属性是决定内容的对齐方式,分别由水平和垂直方向,简单易懂。

3、控件的名字

        建议大家在QT设计师里面制作页面时候就将控件的名称制定好,不要使用它默认的名字,例如label1,label2,label3,pushbutton1等等。最好是能统一命名并且记录下来,不然在后面的代码部分将会十分痛苦(包括各个文件的命名,养成好习惯,英语不好就用自己能懂的方式)。一般可以直接在对象查看器中进行修改。

        其实窗口的名字也是可以直接进行设置的,就是这个属性,如果你也和笔者一样是个强迫症,建议你修改一下hhhhhhhh

4、布局方式

        布局方式的选择主要看各位的习惯,QT中有四种布局方式可以选择,网上教程也很多,这里不赘述

5、其他属性

        至于其他属性,笔者不多赘述&#x

  • 12
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
PyQt5中,可以通过纯代码编写应用程序,也可以使用Qt Designer来设计界面。如果你选择使用Qt Designer来设计垃圾分类界面,你可以使用以下步骤: 1. 首先,确保你已经安装了PyQt5Qt Designer。你可以使用pip install PyQt5和pip install pyqt5-tools命令来安装它们。 2. 打开Qt Designer,并创建一个新的窗口(QWidget)。 3. 在窗口中拖拽和放置各种控件,如按钮、标签、文本框等,来设计你的垃圾分类界面。 4. 使用Qt Designer提供的属性编辑器来设置控件的属性,例如文本内容、字体、颜色等。 5. 在设计完成后,保存你的界面设计文件(通常是一个.ui文件)。 6. 使用Qt命令行工具pyuic5将.ui文件转换为.py文件,以便在PyQt5中使用。你可以使用以下命令:pyuic5 -x input.ui -o output.py 7. 在你的PyQt5应用程序中,引入转换后的.py文件,并使用它来实现界面逻辑和功能。 这样,你就可以通过使用Qt Designer和PyQt5来设计和实现垃圾分类界面了。希望对你有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [基于PyQT5实现垃圾分类小程序](https://blog.csdn.net/beiweitongxingou/article/details/119022778)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [毕业设计-基于计算机视觉的垃圾分类识别系统](https://blog.csdn.net/qq_37340229/article/details/129748664)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值