Displaying Images in QListView with same thumbnail size keeping aspect ratio
How do I display images in QListView of size of standard thumbnail size like 250 x 200 , and file nametext should wrap to next line , right now the images displayed are very small and are not positioned under each other in proper row column order.
Code:
import sys
import os
from PyQt4 import QtGui, QtCore
def __init__(self, datain, parent=None, *args):
""" datain: a list where each item is a row
"""
self.listdata = datain
return len(self.listdata)
def data(self, index, role):
s
= QtCore.
QSize(250,
200) if index.isValid() and role == QtCore.Qt.DecorationRole:
return QtGui.
QIcon(QtGui.
QPixmap(self.
listdata[index.
row()]).
scaled(s
)) if index.isValid() and role == QtCore.Qt.DisplayRole:
return QtCore.
QVariant(os.
path.
splitext(os.
path.
split(self.
listdata[index.
row()])[-1])[0]) else:
"""docstring for MyListView"""
def __init__(self):
super(MyListView, self).__init__()
# show in Icon Mode
crntDir = "/Users/userName/Pictures/"
# create table
list_data = []
philes = os.listdir(crntDir)
for phile in philes:
if phile.endswith(".png") or phile.endswith("jpg"):
list_data.append(os.path.join(crntDir, phile))
lm = MyListModel(list_data, self)
self.setModel(lm)
self.show()
if __name__ == '__main__':
window = MyListView()
window.show()
window.raise_()
sys.exit(app.exec_())
Re: Displaying Images in QListView with same thumbnail size keeping aspect ratio
You could try setUniformItemSize() and/or setGridSize() for the positioning problem.
And setIconSize() for the size problem.
Cheers,
_
Re: Displaying Images in QListView with same thumbnail size keeping aspect ratio
Quote:
Originally Posted by
anda_skoa
You could try setUniformItemSize() and/or setGridSize() for the positioning problem.
And setIconSize() for the size problem.
Cheers,
_
now i m using QTableView, what do i use for that here is the code