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通过openpyxl生成Excel文件的方法
May 12 Python
利用Python爬取可用的代理IP
Aug 18 Python
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
Jul 30 Python
机器学习python实战之手写数字识别
Nov 01 Python
Python中的上下文管理器和with语句的使用
Apr 17 Python
Python可变参数*args和**kwargs用法实例小结
Apr 27 Python
python使用rpc框架gRPC的方法
Aug 24 Python
python爬虫的一个常见简单js反爬详解
Jul 09 Python
Python中的类与类型示例详解
Jul 10 Python
python用requests实现http请求代码实例
Oct 31 Python
使用BeautifulSoup4解析XML的方法小结
Dec 07 Python
利用python做数据拟合详情
Nov 17 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
mysql下创建字段并设置主键的php代码
2010/05/16 PHP
PHP strip_tags保留多个HTML标签的方法
2016/05/22 PHP
BOOM vs RR BO5 第四场 2.14
2021/03/10 DOTA
jQuery中使用了document和window哪些属性和方法小结
2011/09/13 Javascript
javascript 获取图片尺寸及放大图片
2013/09/04 Javascript
jQery使网页在显示器上居中显示适用于任何分辨率
2014/06/09 Javascript
基于socket.io和node.js搭建即时通信系统
2014/07/30 Javascript
前端轻量级MVC框架CanJS详解
2014/09/26 Javascript
深入理解JavaScript系列(18):面向对象编程之ECMAScript实现
2015/03/05 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
2015/05/14 Javascript
JS 清除字符串数组中,重复元素的实现方法
2016/05/24 Javascript
前端主流框架vue学习笔记第二篇
2017/07/26 Javascript
开发一个Parcel-vue脚手架工具(详细步骤)
2018/09/22 Javascript
vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
2018/10/24 Javascript
浅析JS中NEW的实现原理及重写
2020/02/20 Javascript
Element MessageBox弹框的具体使用
2020/07/27 Javascript
详解vue组件之间的通信
2020/08/30 Javascript
[02:25]DOTA2英雄基础教程 熊战士
2014/01/03 DOTA
学习python (1)
2006/10/31 Python
Python实现的数据结构与算法之快速排序详解
2015/04/22 Python
Python文件读取的3种方法及路径转义
2015/06/21 Python
两个使用Python脚本操作文件的小示例分享
2015/08/27 Python
使用Python从有道词典网页获取单词翻译
2016/07/03 Python
Python之用户输入的实例
2018/06/22 Python
Python 3.6 -win64环境安装PIL模块的教程
2019/06/20 Python
python实现多进程通信实例分析
2019/09/01 Python
Selenium之模拟登录铁路12306的示例代码
2020/07/31 Python
Python判断变量是否是None写法代码实例
2020/10/09 Python
武汉高蓝德国际.net机试
2016/06/24 面试题
日期和时间问题
2015/01/04 面试题
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
产品生产计划书
2014/05/07 职场文书
2015年师德师风承诺书
2015/01/22 职场文书
2016幼儿园中班开学寄语
2015/12/03 职场文书
《莫泊桑拜师》教学反思
2016/02/22 职场文书
Python Pandas 删除列操作
2022/03/16 Python