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 相关文章推荐
flask中主动抛出异常及统一异常处理代码示例
Jan 18 Python
VSCode下好用的Python插件及配置
Apr 06 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
Jun 22 Python
Flask框架WTForm表单用法示例
Jul 20 Python
python简单贪吃蛇开发
Jan 28 Python
Django 过滤器汇总及自定义过滤器使用详解
Jul 19 Python
Python数据库小程序源代码
Sep 15 Python
在pycharm中实现删除bookmark
Feb 14 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
Jul 02 Python
Python pandas对excel的操作实现示例
Jul 21 Python
python利用google翻译方法实例(翻译字幕文件)
Sep 21 Python
Python 利用argparse模块实现脚本命令行参数解析
Dec 28 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
Eclipse中php插件安装及Xdebug配置的使用详解
2013/04/25 PHP
PHP中模拟链表和链表的基本操作示例
2016/02/27 PHP
10款新鲜出炉的 jQuery 插件(Ajax 插件,有幻灯片、图片画廊、菜单等)
2011/06/08 Javascript
用JS实现一个TreeMenu效果分享
2011/08/28 Javascript
js有序数组的连接问题
2013/10/01 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
2015/07/27 Javascript
JS实现很实用的对联广告代码(可自适应高度)
2015/09/18 Javascript
基于jquery animate操作css样式属性小结
2015/11/27 Javascript
详解Bootstrap的iCheck插件checkbox和radio
2016/08/24 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
2017/02/19 Javascript
ES6新特性六:promise对象实例详解
2017/04/21 Javascript
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
2018/08/20 Javascript
如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)
2019/06/18 jQuery
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:奇迹哥卡尔秀翻全场
2017/03/28 DOTA
[00:12]2018DOTA2亚洲邀请赛 sylar表现SOLO技艺
2018/04/06 DOTA
Python使用urllib2获取网络资源实例讲解
2013/12/02 Python
python三元运算符实现方法
2013/12/17 Python
Python中字典的setdefault()方法教程
2017/02/07 Python
Django Admin 实现外键过滤的方法
2017/09/29 Python
Python+tkinter使用40行代码实现计算器功能
2018/01/30 Python
在python tkinter中Canvas实现进度条显示的方法
2019/06/14 Python
使用python去除图片白色像素的实例
2019/12/12 Python
pycharm 2018 激活码及破解补丁激活方式
2020/09/21 Python
Keras保存模型并载入模型继续训练的实现
2021/02/20 Python
html5实现canvas阴影效果示例
2014/05/07 HTML / CSS
香港化妆品经销商:我的公主
2016/08/05 全球购物
个人自荐书
2013/12/20 职场文书
应用艺术专业个人的自我评价
2014/01/03 职场文书
公司授权委托书范本
2014/04/03 职场文书
歌颂祖国演讲稿
2014/05/04 职场文书
政风行风评议工作总结
2014/10/21 职场文书
个人总结怎么写
2015/02/26 职场文书
病假条格式范文
2015/08/17 职场文书
新入职员工工作总结
2015/10/15 职场文书
高中语文教材(文学文化常识大全一)
2019/08/13 职场文书
如何使用SQL Server语句创建表
2022/04/12 SQL Server