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实现自动登录人人网并访问最近来访者实例
Sep 26 Python
Python实现可自定义大小的截屏功能
Jan 20 Python
Python图像处理之识别图像中的文字(实例讲解)
May 10 Python
详解pandas中MultiIndex和对象实际索引不一致问题
Jul 23 Python
详解Python list和numpy array的存储和读取方法
Nov 06 Python
Python for i in range ()用法详解
Sep 18 Python
selenium WebDriverWait类等待机制的实现
Mar 18 Python
Django values()和value_list()的使用
Mar 31 Python
python3中calendar返回某一时间点实例讲解
Nov 18 Python
Opencv python 图片生成视频的方法示例
Nov 18 Python
Python数据分析入门之教你怎么搭建环境
May 13 Python
教你如何使用Python开发一个钉钉群应答机器人
Jun 21 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
thinkPHP引入类的方法详解
2016/12/08 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
JS中判断null、undefined与NaN的方法
2014/03/24 Javascript
jQuery判断复选框是否勾选的原理及示例
2014/05/21 Javascript
checkbox选中与未选中判断示例
2014/08/04 Javascript
原生javascript实现的分页插件pagenav
2014/08/28 Javascript
JavaScript原生对象常用方法总结(推荐)
2016/05/13 Javascript
bootstrapValidator bootstrap-select验证不可用的解决办法
2017/01/11 Javascript
javascript判断回文数详解及实现代码
2017/02/03 Javascript
jQuery实现简单的计时器功能实例分析
2017/08/29 jQuery
Vue+jquery实现表格指定列的文字收缩的示例代码
2018/01/09 jQuery
学习JS中的DOM节点以及操作
2018/04/30 Javascript
浅谈layer的Icon样式以及一些常用的layer窗口使用方法
2019/09/11 Javascript
openlayers4.6.5实现距离量测和面积量测
2020/09/25 Javascript
[46:27]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第一局
2016/03/02 DOTA
pymongo实现控制mongodb中数字字段做加法的方法
2015/03/26 Python
Python中的异常处理简明介绍
2015/04/13 Python
Python入门之modf()方法的使用
2015/05/15 Python
Python中的super()方法使用简介
2015/08/14 Python
python ctypes库2_指定参数类型和返回类型详解
2019/11/19 Python
python通过移动端访问查看电脑界面
2020/01/06 Python
python pandas利用fillna方法实现部分自动填充功能
2020/03/16 Python
Pytorch十九种损失函数的使用详解
2020/04/29 Python
django queryset相加和筛选教程
2020/05/18 Python
matplotlib之多边形选区(PolygonSelector)的使用
2021/02/24 Python
三星加拿大官方网上商店:Samsung CA
2020/12/18 全球购物
自主招生自荐信格式
2013/12/03 职场文书
《望洞庭》教学反思
2014/02/16 职场文书
《大海那边》教学反思
2014/04/09 职场文书
签约仪式策划方案
2014/06/02 职场文书
音乐兴趣小组活动总结
2014/07/07 职场文书
七一党日活动总结
2014/07/08 职场文书
2014年乡镇党建工作总结
2014/11/11 职场文书
嘉宾邀请函
2015/01/31 职场文书
2016年“世界气象日”广播稿
2015/12/17 职场文书