前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python高级进阶#016 pyqt5载入图片QPixmap应用

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

作者头像
刘金玉编程
发布2019-11-06 16:56:57
7.8K0
发布2019-11-06 16:56:57
举报
文章被收录于专栏:编程创造城市

知识回顾:

1.掌握进度条qprogressbar使用

2.学会使用时钟控件qbasictimer

3.学会重写事件timerEvent

本节知识视频教程

以下开始文字讲解:

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

效果图

需求:

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.掌握程序书写思想。

本节知识源代码:

代码语言:javascript
复制
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_()

图片素材

长按关注公众号

相关文章:

  1. python高级进阶#001可视化界面开发环境搭建
  2. python高级进阶#002第一个pyqt5程序
  3. Python高级进阶#003 pyqt5与qtdesigner对照分析
  4. Python高级进阶#004 pyqt5设置窗体图标
  5. Python高级进阶#005 pyqt5显示提示框
  6. Python高级进阶#006 pyqt5类封装
  7. Python高级进阶#007 pyqt5消息盒子QMessageBox
  8. Python高级进阶#008 pyqt5窗体居中和布局
  9. Python高级进阶#009 pyqt5中窗体的绝对布局和相对布局
  10. Python高级进阶#010 pyqt5网格布局QGridLayout
  11. Python高级进阶#011 pyqt5按钮QPushButton应用
  12. Python高级进阶#012 pyqt5 QLineEdit文本事件应用
  13. Python高级进阶#013 pyqt5复选框QCheckBox
  14. Python高级进阶#014 pyqt5滑块控件QSlider应用
  15. Python高级进阶#015 pyqt5进度条QProgressBar结合使用qbasictimer
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程创造城市 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档