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自动化构建工具scons使用入门笔记
Mar 10 Python
python实现验证码识别功能
Jun 07 Python
Python中的groupby分组功能的实例代码
Jul 11 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
Sep 17 Python
对python生成业务报表的实例详解
Feb 03 Python
Python OpenCV调用摄像头检测人脸并截图
Aug 20 Python
python 3.6.7实现端口扫描器
Sep 04 Python
PyTorch预训练的实现
Sep 18 Python
python 写一个性能测试工具(一)
Oct 24 Python
Python操控mysql批量插入数据的实现方法
Oct 27 Python
Python爬虫之Selenium鼠标事件的实现
Dec 04 Python
Python  序列化反序列化和异常处理的问题小结
Dec 24 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
别人整理的服务器变量:$_SERVER
2006/10/20 PHP
php数组函数序列之array_slice() - 在数组中根据条件取出一段值,并返回
2011/11/07 PHP
php向js函数传参的几种方法
2014/08/10 PHP
PHP获取某个月最大天数(最后一天)的方法
2015/07/29 PHP
php多线程并发实现方法
2016/09/30 PHP
tp5框架使用cookie加密算法实现登录功能示例
2020/02/10 PHP
如何制作浮动广告 JavaScript制作浮动广告代码
2012/12/30 Javascript
jquery cookie实现的简单换肤功能适合小网站
2013/08/25 Javascript
JS注释所产生的bug 即使注释也会执行
2013/11/19 Javascript
删除节点的jquery代码
2014/01/13 Javascript
ExtJS4如何给同一个formpanel不同的url
2014/05/02 Javascript
JavaScript通过HTML的class来获取HTML元素的方法总结
2016/05/24 Javascript
JS基于构造函数实现的菜单滑动显隐效果【测试可用】
2016/06/21 Javascript
Angular 理解module和injector,即依赖注入
2016/09/07 Javascript
页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)
2017/08/29 Javascript
让axios发送表单请求形式的键值对post数据的实例
2018/08/11 Javascript
在vue中读取本地Json文件的方法
2018/09/06 Javascript
通过vue写一个瀑布流插件代码实例
2019/09/07 Javascript
JavaScript仿京东轮播图效果
2021/02/25 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:奇迹哥卡尔秀翻全场
2017/03/28 DOTA
深入剖析Python的爬虫框架Scrapy的结构与运作流程
2016/01/20 Python
python绘制条形图方法代码详解
2017/12/19 Python
答题辅助python代码实现
2018/01/16 Python
Python实现统计给定列表中指定数字出现次数的方法
2018/04/11 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
Python实现截取PDF文件中的几页代码实例
2019/03/11 Python
python3利用Axes3D库画3D模型图
2020/03/25 Python
html5视频自动横过来自适应页面且点击播放功能的实现
2020/06/03 HTML / CSS
员工培训邀请函
2014/02/02 职场文书
党员个人对照检查材料思想汇报
2014/09/16 职场文书
2015年预备党员自我评价
2015/03/04 职场文书
团员自我评价范文
2015/03/10 职场文书
2015年教师节活动总结
2015/03/20 职场文书
单位实习介绍信
2015/05/05 职场文书
2015年董事长秘书工作总结
2015/07/23 职场文书
Java实现房屋出租系统详解
2021/10/05 Java/Android