下面的代码加载一张图片。我希望加载一个位于文件夹中的未知数量的图像,我希望它们以联系表的方式显示。
如何修改下面的代码,以便获取图像列表并将它们并排显示?
import sys
from PySide import QtGui, QtCore
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
hbox = QtGui.QHBoxLayout(self)
pixmap = QtGui.QPixmap("myImage.jpg")
lbl = QtGui.QLabel(self)
lbl.setPixmap(pixmap)
hbox.addWidget(lbl)
self.setLayout(hbox)
self.setGeometry(300, 300, 280, 170)
self.setWindowTitle('Image viewer')
self.show()
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
答案 0 :(得分:1)
这可能是您想要的整体内容,包括滚动条..
import os
import sys
from PySide import QtGui, QtCore
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
self.img_fold = r"C:\Users\abhishek.garg\Desktop\New folder"
self.widget_layout = QtGui.QVBoxLayout(self)
self.scrollarea = QtGui.QScrollArea()
self.scrollarea.setWidgetResizable(True)
self.widget_layout.addWidget(self.scrollarea)
self.widget = QtGui.QWidget()
self.layout = QtGui.QVBoxLayout(self.widget)
self.scrollarea.setWidget(self.widget)
self.layout.setAlignment(QtCore.Qt.AlignHCenter)
for img in os.listdir(self.img_fold):
img_path = os.path.join(self.img_fold, img)
pixmap = QtGui.QPixmap(img_path)
lbl = QtGui.QLabel(self)
lbl.setPixmap(pixmap)
self.layout.addWidget(lbl)
self.setGeometry(300, 300, 280, 170)
self.setWindowTitle('Image viewer')
self.show()
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
答案 1 :(得分:0)
试试这个:
import sys
from PySide import QtGui, QtCore
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
hbox = QtGui.QHBoxLayout(self)
img_fold = "C:/my_contacts"
for img in os.listdir(img_fold):
img_path = os.path.join(img_fold, img)
pixmap = QtGui.QPixmap(img_path)
lbl = QtGui.QLabel(self)
lbl.setPixmap(pixmap)
hbox.addWidget(lbl)
self.setLayout(hbox)
self.setGeometry(300, 300, 280, 170)
self.setWindowTitle('Image viewer')
self.show()
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()