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 相关文章推荐
python3使用PyMysql连接mysql数据库实例
Feb 07 Python
Python3实现的判断回文链表算法示例
Mar 08 Python
python微信聊天机器人改进版(定时或触发抓取天气预报、励志语录等,向好友推送)
Apr 25 Python
NumPy 数组使用大全
Apr 25 Python
python日志logging模块使用方法分析
May 23 Python
pyqt5 comboBox获得下标、文本和事件选中函数的方法
Jun 14 Python
Python3 itchat实现微信定时发送群消息的实例代码
Jul 12 Python
python实现比对美团接口返回数据和本地mongo数据是否一致示例
Aug 09 Python
一行Python代码制作动态二维码的实现
Sep 09 Python
利用pyecharts读取csv并进行数据统计可视化的实现
Apr 17 Python
python解释器安装教程的方法步骤
Jul 02 Python
python+pyhyper实现识别图片中的车牌号思路详解
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
php获取远程文件的内容和大小
2015/11/03 PHP
PHP递归实现快速排序的方法示例
2017/12/18 PHP
JavaScript截取字符串的Slice、Substring、Substr函数详解和比较
2014/03/20 Javascript
20个实用的JavaScript技巧分享
2014/11/28 Javascript
简单实现JS对dom操作封装
2015/12/02 Javascript
Jquery实现$.fn.extend和$.extend函数
2016/04/14 Javascript
基于jQuery实现动态搜索显示功能
2016/05/05 Javascript
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
jQuery基础知识点总结(DOM操作)
2016/06/01 Javascript
javascript 实现动态侧边栏实例详解
2016/11/11 Javascript
详解JavaScript中数组的reduce方法
2016/12/02 Javascript
AngularJS实时获取并显示密码的方法
2018/02/06 Javascript
Vue验证码60秒倒计时功能简单实例代码
2018/06/22 Javascript
vue的过滤器filter实例详解
2018/09/17 Javascript
微信小程序http连接访问解决方案的示例
2018/11/05 Javascript
国内常用的js类库大全(CDN公共库)
2020/06/24 Javascript
[01:08:43]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第一场 1月9日
2021/03/11 DOTA
[49:17]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第三场 1月26日
2021/03/11 DOTA
python让图片按照exif信息里的创建时间进行排序的方法
2015/03/16 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
2017/07/06 Python
详解supervisor使用教程
2017/11/21 Python
PyTorch的torch.cat用法
2020/06/28 Python
Python与C/C++的相互调用案例
2021/03/04 Python
Shopee马来西亚:随拍即卖,最佳行动电商拍卖平台
2017/06/05 全球购物
英国打印机墨水和碳粉商店:Printerinks
2017/06/30 全球购物
阿里健康官方海外旗舰店:阿里健康国际自营
2017/11/24 全球购物
宿舍卫生检讨书
2014/01/16 职场文书
2014年上半年工作自我评价
2014/01/18 职场文书
入党积极分子学习两会心得体会范文
2014/03/17 职场文书
市场营销战略计划书
2014/05/06 职场文书
民主生活会发言材料
2014/10/20 职场文书
2014年教务工作总结
2014/12/03 职场文书
2019年警察入党转正申请书最新范文
2019/09/03 职场文书
2019年销售部季度工作计划3篇
2019/10/09 职场文书
在 Python 中利用 Pool 进行多线程
2022/04/24 Python
mysql全面解析json/数组
2022/07/07 MySQL