pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法


Posted in Python onJune 20, 2019

1:listWidget 以滚动窗口显示文件下的所有文件:

pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法

self.listWidget = QtWidgets.QListWidget(self.gridLayoutWidget)
    self.listWidget.setMaximumSize(QtCore.QSize(16777215, 400))
    self.listWidget.setObjectName("listWidget")
 以上代码都是以qtDesigner画出来自动生成的 
    self.listWidget.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn#这里以滚动窗口显示)
    self.pushButton_10.clicked.connect(TabWidget.viewList)#关联事件
    def viewList(self):
      for i in os.listdir("./photo"):
        self.listWidget.addItem("./photo"+"/"+i)

2:点击列表里的item能够返回item名称并显示图片

pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法

self.listWidget.currentItemChanged.connect(TabWidget.image)#这是点击item会返回item的名称:ps我使用qtDesigner绘制的TabWidget。

def image():
  print(self.listWidget.currentItem().text())
  imagefile=self.listWidget.currentItem().text()
  png = QtGui.QPixmap(imagefile).scaled(self.label.width(), self.label.height())
  self.label.setPixmap(png)
  #在lable上显示图片

3:在滚动窗口中显示文件中的所有图像

pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法

这部分先用qtDesigner 绘制了一块scrollArea, 使用scrollArea的好处是自动会生成滚动条
def suoluetu(self):
    names=[]    
    positions = [(i, j) for i in range(4) for j in range(30)]
    for i in os.listdir(r"./photo"):
      names.append("./photo"+"/"+i)
    self.filewidget = QWidget()
    self.filewidget.setMinimumSize(350, 1800)
    for position, names in zip(positions, names):
      lab = QLabel(self.filewidget)
      lab.setFixedSize(100,150)
      pix=QtGui.QPixmap(names)
      lab.setPixmap(pix)
      lab.move(100*position[0]+50,150*position[1]+70)#这部分是我自己瞎写的
    self.scrollArea.setWidget(self.filewidget)
    一开始采用的gridLayout显示的图片效果也还不错,但是不能滚动画面
    后来采用这种方法
    很遗憾窗口中的图片不能点击,就不能对相应的图片进行分析
    所以我觉得还是应该采用listWidget的方式显示图片

以上这篇pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中对list去重的多种方法
Sep 18 Python
Python的Django框架中模板碎片缓存简介
Jul 24 Python
Python彩色化Linux的命令行终端界面的代码实例分享
Jul 02 Python
Python爬取三国演义的实现方法
Sep 12 Python
Python实现对象转换为xml的方法示例
Jun 08 Python
PyChar学习教程之自定义文件与代码模板详解
Jul 17 Python
numpy.delete删除一列或多列的方法
Apr 03 Python
利用django+wechat-python-sdk 创建微信服务器接入的方法
Feb 20 Python
解决Python中pandas读取*.csv文件出现编码问题
Jul 12 Python
python 多维高斯分布数据生成方式
Dec 09 Python
python ffmpeg任意提取视频帧的方法
Feb 21 Python
python自动化测试通过日志3分钟定位bug
Nov 20 Python
PyQt5 窗口切换与自定义对话框的实例
Jun 20 #Python
PyQt5笔记之弹出窗口大全
Jun 20 #Python
PyQt5创建一个新窗口的实例
Jun 20 #Python
pyQT5 实现窗体之间传值的示例
Jun 20 #Python
python3.6环境安装+pip环境配置教程图文详解
Jun 20 #Python
Python 3.6 -win64环境安装PIL模块的教程
Jun 20 #Python
详解Python 调用C# dll库最简方法
Jun 20 #Python
You might like
PHP中把对象转换为关联数组代码分享
2015/04/09 PHP
smarty学习笔记之常见代码段用法总结
2016/03/19 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
php多文件打包下载的实例代码
2017/07/12 PHP
关于window.pageYOffset和document.documentElement.scrollTop
2011/04/05 Javascript
onmouseover和onmouseout的一些问题思考
2013/08/14 Javascript
动态加载script文件的两种方法
2013/08/15 Javascript
JS验证身份证有效性示例
2013/10/11 Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
2014/04/03 Javascript
JavaScript截断字符串的方法
2015/07/15 Javascript
JS实现横向与竖向两个选项卡Tab联动的方法
2015/09/27 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
jQuery实现一个简单的轮播图
2017/02/19 Javascript
Bootstrap Table从零开始
2017/06/30 Javascript
JavaScript canvas实现雪花随机动态飘落
2020/02/08 Javascript
小程序自定义弹框效果
2020/11/16 Javascript
ESLint 是如何检查 .vue 文件的
2020/11/30 Vue.js
详解Vite的新体验
2021/02/22 Javascript
在Django中创建URLconf相关的通用视图的方法
2015/07/20 Python
实例讲解Python中global语句下全局变量的值的修改
2016/06/16 Python
python 中的list和array的不同之处及转换问题
2018/03/13 Python
python模拟表单提交登录图书馆
2018/04/27 Python
pyqt5实现登录界面的模板
2020/05/30 Python
tensorboard 可以显示graph,却不能显示scalar的解决方式
2020/02/15 Python
HTML5的结构和语义(1):前言
2008/10/17 HTML / CSS
英国马莎百货官网:Marks & Spencer
2016/07/29 全球购物
人力资源管理专业毕业生自我评价
2013/09/21 职场文书
党员思想汇报范文
2013/12/30 职场文书
新入职员工的自我介绍演讲稿
2014/01/02 职场文书
社团招新策划书
2014/02/04 职场文书
小学优秀班主任事迹材料
2014/05/17 职场文书
餐饮周年庆活动方案
2014/08/14 职场文书
住房租房协议书
2014/08/20 职场文书
小学运动会入场词
2015/07/18 职场文书
从零开始在Centos7上部署SpringBoot项目
2022/04/07 Servers
vue3语法糖内的defineProps及defineEmits
2022/04/14 Vue.js