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和perl实现批量对目录下电子书文件重命名的代码分享
Nov 21 Python
Python函数中定义参数的四种方式
Nov 30 Python
使用70行Python代码实现一个递归下降解析器的教程
Apr 17 Python
Python标准库defaultdict模块使用示例
Apr 28 Python
python3+PyQt5泛型委托详解
Apr 24 Python
python3使用SMTP发送HTML格式邮件
Jun 19 Python
Python爬取数据并写入MySQL数据库的实例
Jun 21 Python
Python迭代器与生成器用法实例分析
Jul 09 Python
不管你的Python报什么错,用这个模块就能正常运行
Sep 14 Python
python实现对任意大小图片均匀切割的示例
Dec 05 Python
Python基于Tkinter模块实现的弹球小游戏
Dec 27 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
Mar 06 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实现文件下载详解
2014/11/27 PHP
php多线程并发实现方法
2016/09/30 PHP
PHP图片水印类的封装
2017/07/06 PHP
PHP+Ajax实现的博客文章添加类别功能示例
2018/03/29 PHP
Laravel框架Eloquent ORM修改数据操作示例
2019/12/03 PHP
深入认识JavaScript中的函数
2007/01/22 Javascript
在页面上点击任一链接时触发一个事件的代码
2007/04/07 Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
2014/06/17 Javascript
angularjs学习笔记之双向数据绑定
2015/09/26 Javascript
JavaScript转换与解析JSON方法实例详解
2015/11/24 Javascript
js判断是否为空和typeof的用法(详解)
2016/10/07 Javascript
详解Javascript数据类型的转换规则
2016/12/12 Javascript
浅谈js script标签中的预解析
2016/12/30 Javascript
Move.js入门
2017/02/08 Javascript
JavaScript数据类型和变量_动力节点Java学院整理
2017/06/26 Javascript
Vue2 SSR渲染根据不同页面修改 meta
2017/11/20 Javascript
ReactNative之FlatList的具体使用方法
2017/11/29 Javascript
微信小程序3D轮播实现代码
2019/09/19 Javascript
在Python中调用ggplot的三种方法
2015/04/08 Python
Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
2017/09/06 Python
python购物车程序简单代码
2018/04/18 Python
python 读取摄像头数据并保存的实例
2018/08/03 Python
python调用百度语音识别api
2018/08/30 Python
Python3的介绍、安装和命令行的认识(推荐)
2018/10/20 Python
Python补齐字符串长度的实例
2018/11/15 Python
Django处理多用户类型的方法介绍
2019/05/18 Python
python 画二维、三维点之间的线段实现方法
2019/07/07 Python
详解python实现交叉验证法与留出法
2019/07/11 Python
CSS3.0实现霓虹灯按钮动画特效的示例代码
2021/01/12 HTML / CSS
解释一下钝化(Swap out)
2016/12/26 面试题
大二学期个人自我评价
2014/01/13 职场文书
贷款担保申请书
2014/05/20 职场文书
大学生自我评价200字(4篇)
2014/09/17 职场文书
社区敬老月活动总结
2015/05/07 职场文书
大学优秀学生主要事迹材料
2015/11/04 职场文书
离婚协议书格式范本
2016/03/18 职场文书