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 dict.get()和dict['key']的区别详解
Jun 30 Python
python 对给定可迭代集合统计出现频率,并排序的方法
Oct 18 Python
python3实现逐字输出的方法
Jan 23 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
Jun 28 Python
python3-flask-3将信息写入日志的实操方法
Nov 12 Python
python基于TCP实现的文件下载器功能案例
Dec 10 Python
Python彻底删除文件夹及其子文件方式
Dec 23 Python
一文了解python 3 字符串格式化 F-string 用法
Mar 04 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
Aug 26 Python
利用python 读写csv文件
Sep 10 Python
Python extract及contains方法代码实例
Sep 11 Python
Python竟然能剪辑视频
May 25 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下使用以下代码连接并测试
2008/04/09 PHP
php中使用Imagick实现图像直方图的实现代码
2011/08/30 PHP
Linux环境下搭建php开发环境的操作步骤
2013/06/17 PHP
PHP弱类型的安全问题详细总结
2016/09/25 PHP
实例讲解PHP页面静态化
2018/02/05 PHP
PHP实现类似题库抽题效果
2018/08/16 PHP
JavaScript的面向对象(一)
2006/11/09 Javascript
javascript 解析后的xml对象的读取方法细解
2009/07/25 Javascript
jQuery怎么解析Json字符串(Json格式/Json对象)
2013/08/09 Javascript
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
JQuery下拉框应用示例介绍
2014/04/23 Javascript
Node.js 应用跑得更快 10 个技巧
2016/04/03 Javascript
jQuery的extend方法【三种】
2016/12/14 Javascript
vue-router:嵌套路由的使用方法
2017/02/21 Javascript
js如何编写简单的ajax方法库
2017/08/02 Javascript
javaScript实现游戏倒计时功能
2018/11/17 Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
2019/10/25 Javascript
[13:18]《一刀刀一天》之DOTA全时刻21:详解TI新赛制 A队再露獠牙
2014/06/24 DOTA
[04:47]DOTA2-潍坊风行电子俱乐部探秘
2014/08/08 DOTA
[02:07]TI9显影之尘系列 - Vici Gaming
2019/08/20 DOTA
Python实现一个Git日志统计分析的小工具
2017/12/14 Python
pandas求两个表格不相交的集合方法
2018/12/08 Python
详解python使用turtle库来画一朵花
2019/03/21 Python
python的debug实用工具 pdb详解
2019/07/12 Python
python操作gitlab API过程解析
2019/12/27 Python
tensorflow 实现自定义梯度反向传播代码
2020/02/10 Python
HTML5 3D衣服摇摆动画特效
2016/03/17 HTML / CSS
error和exception有什么区别
2012/10/02 面试题
计算机应用专业应届毕业生中文求职信范文
2013/11/29 职场文书
普通话宣传标语
2014/06/26 职场文书
新农村建设汇报材料
2014/08/15 职场文书
学习优秀党务工作者先进事迹材料思想报告
2014/09/17 职场文书
2015年加油站站长工作总结
2015/05/27 职场文书
重温入党誓词主持词
2015/06/29 职场文书
幼儿园园长新年寄语
2015/08/17 职场文书
Django使用echarts进行可视化展示的实践
2021/06/10 Python