Python高级进阶#016 pyqt5载入图片QPixmap应用

简介: Python高级进阶#016 pyqt5载入图片QPixmap应用

知识回顾:



1.掌握进度条qprogressbar使用

2.学会使用时钟控件qbasictimer

3.学会重写事件timerEvent


一、案例:图片的载入与移除



image.png

效果图

需求:

1.加入需要能够载入图片

2.增加移除图片按钮和添加图片按钮

3.当点击相应按钮后会有相应的功能


二、最终图片的显示载体QLabel



功能:

1.显示文字

2.显示图片,载入Qpixmap

使用方法:

lbl.setPixmap(Qpixmap图片实例化对象)


默认情况下,label显示区域,是根据图片的大小进行显示的。

如果设置label大小的话,只会显示图片的部分裁剪区域。


提问:如何让图片自适应qlabel标签大小的区域呢?

lbl.setScaledContents(True)  设置图片尺寸自适应


三、Qpixmap类



1.所在类库QtGUI

2.导入

from PyQt5.QtGui import Qpixmap


实例化图片对象:

Qpixmap(图片的路径) 返回的是实例化图片对象


注意:想要显示图片,必须要有图片的显示容器。


四、总结强调



1.掌握Qpixmap载入图片对象与移除。

2.掌握通过Qlabel来显示图片与自适应大小。

3.掌握程序书写思想。


本节知识源代码:

import sys
from PyQt5.QtWidgets import QApplication,QWidget,QLabel,QPushButton
from PyQt5.QtGui import QPixmap
class MyClass(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()
    def initUI(self):
        self.setWindowTitle("刘金玉编程")
        self.setGeometry(300,100,400,300)
        self.lbl=QLabel("图片",self)
        self.pm=QPixmap("./img/pic1.jpg")
        self.lbl.setPixmap(self.pm)
        self.lbl.resize(300,200)
        self.lbl.setScaledContents(True)
        #移除按钮
        btn1=QPushButton("移除图片",self)
        btn1.clicked.connect(self.myRemovePic)
        btn1.move(0,220)
        #增加按钮
        btn2=QPushButton("增加图片",self)
        btn2.clicked.connect(self.myAddPic)
        btn2.move(0,250)
        self.show()
    def myRemovePic(self):
        self.lbl.setPixmap(QPixmap(""))
    def myAddPic(self):
        self.lbl.setPixmap(self.pm)
if __name__=="__main__":
    app=QApplication(sys.argv)
    mc=MyClass()
    app.exec_()
相关文章
|
6天前
|
API 数据库 数据安全/隐私保护
Flask框架在Python面试中的应用与实战
【4月更文挑战第18天】Django REST framework (DRF) 是用于构建Web API的强力工具,尤其适合Django应用。本文深入讨论DRF面试常见问题,包括视图、序列化、路由、权限控制、分页过滤排序及错误处理。同时,强调了易错点如序列化器验证、权限认证配置、API版本管理、性能优化和响应格式统一,并提供实战代码示例。了解这些知识点有助于在Python面试中展现优秀的Web服务开发能力。
22 1
|
1天前
|
机器学习/深度学习 人工智能 算法
机械视觉:原理、应用及Python代码示例
机械视觉:原理、应用及Python代码示例
|
2天前
|
安全 前端开发 JavaScript
在Python Web开发过程中:Web框架相关,如何在Web应用中防止CSRF攻击?
在Python Web开发中防范CSRF攻击的关键措施包括:验证HTTP Referer字段、使用CSRF token、自定义HTTP头验证、利用Web框架的防护机制(如Django的`{% csrf_token %}`)、Ajax请求时添加token、设置安全会话cookie及教育用户提高安全意识。定期进行安全审计和测试以应对新威胁。组合运用这些方法能有效提升应用安全性。
7 0
|
3天前
|
缓存 人工智能 API
【Python+微信】【企业微信开发入坑指北】2. 如何利用企业微信API主动给用户发应用消息
【Python+微信】【企业微信开发入坑指北】2. 如何利用企业微信API主动给用户发应用消息
7 0
|
6天前
|
SQL 中间件 API
Flask框架在Python面试中的应用与实战
【4月更文挑战第18天】**Flask是Python的轻量级Web框架,以其简洁API和强大扩展性受欢迎。本文深入探讨了面试中关于Flask的常见问题,包括路由、Jinja2模板、数据库操作、中间件和错误处理。同时,提到了易错点,如路由冲突、模板安全、SQL注入,以及请求上下文管理。通过实例代码展示了如何创建和管理数据库、使用表单以及处理请求。掌握这些知识将有助于在面试中展现Flask技能。**
12 1
Flask框架在Python面试中的应用与实战
|
7天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
使用Python构建简单的图像识别应用
本文将介绍如何利用Python语言及其相关库来构建一个简单但功能强大的图像识别应用。通过结合OpenCV和深度学习模型,我们将展示如何实现图像的特征提取和分类,从而实现对图像中物体的自动识别和分类。无需复杂的算法知识,只需一些基本的Python编程技巧,你也可以轻松地创建自己的图像识别应用。
|
8天前
|
机器学习/深度学习 算法 自动驾驶
opencv python 图片叠加
【4月更文挑战第17天】
|
9天前
|
数据挖掘 vr&ar Python
Python金融时间序列模型ARIMA 和GARCH 在股票市场预测应用
Python金融时间序列模型ARIMA 和GARCH 在股票市场预测应用
34 10
|
9天前
|
机器学习/深度学习 数据采集 供应链
从数据到决策:scikit-learn在业务分析中的应用
【4月更文挑战第17天】本文探讨了scikit-learn在业务分析中的应用,包括数据预处理、分类、回归和聚类模型的构建,以及模型评估与优化。通过使用scikit-learn,企业能有效处理数据、预测趋势、客户细分并制定决策,从而提升经营效率和市场策略。随着机器学习的发展,scikit-learn在业务分析领域的潜力将持续释放,创造更多价值。
|
9天前
|
机器学习/深度学习 算法
scikit-learn在回归问题中的应用与优化
【4月更文挑战第17天】本文探讨了scikit-learn在回归问题中的应用,介绍了线性回归、岭回归、SVR和决策树回归等算法,并提出优化策略,包括特征选择、超参数调优、交叉验证和集成学习。通过实践案例展示如何处理房价预测问题,强调了根据问题特点选择合适方法的重要性。