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使用PIL模块实现给图片打水印的方法
May 22 Python
Python入门_学会创建并调用函数的方法
May 16 Python
Python简单计算文件MD5值的方法示例
Apr 11 Python
详解python的四种内置数据结构
Mar 19 Python
详解Python学习之安装pandas
Apr 16 Python
Python+threading模块对单个接口进行并发测试
Jun 25 Python
python 定时器每天就执行一次的实现代码
Aug 14 Python
Python全栈之列表数据类型详解
Oct 01 Python
python的slice notation的特殊用法详解
Dec 27 Python
Python 捕获代码中所有异常的方法
Aug 03 Python
Django DRF认证组件流程实现原理详解
Aug 17 Python
python实现会员管理系统
Mar 18 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
博士208HAF收音机实习报告
2021/03/02 无线电
PHP聊天室技术
2006/10/09 PHP
php解决约瑟夫环示例
2014/04/09 PHP
YII实现分页的方法
2014/07/09 PHP
destoon首页调用求购供应信息的地区名称的方法
2014/08/21 PHP
php使用数组填充下拉列表框的方法
2015/03/31 PHP
php curl 获取https请求的2种方法
2015/04/27 PHP
Yii中创建自己的Widget实例
2016/01/05 PHP
JavaScript实现DOM对象选择器
2016/09/24 Javascript
Angular.js基础学习之初始化
2017/03/10 Javascript
nodejs批量下载图片的实现方法
2017/05/19 NodeJs
详解vue+vueRouter+webpack的简单实例
2017/06/17 Javascript
docker中编译nodejs并使用nginx启动
2017/06/23 NodeJs
JS实现点击Radio动态更新table数据
2017/07/18 Javascript
js中的闭包实例展示
2018/11/01 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
[24:42]VP vs TNC Supermajor小组赛B组 BO3 第三场 6.2
2018/06/03 DOTA
python获取当前时间对应unix时间戳的方法
2015/05/15 Python
Python解析命令行读取参数--argparse模块使用方法
2018/01/23 Python
python模块smtplib实现纯文本邮件发送功能
2018/05/22 Python
利用Python读取txt文档的方法讲解
2018/06/23 Python
Django中的forms组件实例详解
2018/11/08 Python
Apache部署Django项目图文详解
2019/07/30 Python
Pytorch 多维数组运算过程的索引处理方式
2019/12/27 Python
Pycharm的Available Packages为空的解决方法
2020/09/18 Python
Python实现简单的猜单词小游戏
2020/10/28 Python
python中remove函数的踩坑记录
2021/01/04 Python
详解WebSocket跨域问题解决
2018/08/06 HTML / CSS
波兰香水和化妆品购物网站:Notino.pl
2017/11/07 全球购物
优秀研究生自我鉴定
2013/12/04 职场文书
在教室放鞭炮的检讨书
2014/09/28 职场文书
少先队入队仪式主持词
2015/07/04 职场文书
Nginx配置并兼容HTTP实现代码解析
2021/03/31 Servers
Jupyter Notebook 如何修改字体和大小以及更改字体样式
2021/06/03 Python
Python经常使用的一些内置函数
2022/04/11 Python
vue实现input输入模糊查询的三种方式
2022/08/14 Vue.js