当前位置: 移动技术网 > IT编程>脚本编程>Python > pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法

pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法

2019年07月18日  | 移动技术网IT编程  | 我要评论

美人图 韩国完整版,windows 2000 sp4,cz6270航班

1:listwidget 以滚动窗口显示文件下的所有文件:

    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名称并显示图片

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:在滚动窗口中显示文件中的所有图像

这部分先用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,列表窗口,滚动窗口显示图片的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网