首页 > 解决方案 > 如何将 QlistWidget 中的图标项从上到下而不是从左到右插入到小部件或显示中?

问题描述

我正在使用 PySide。我有一个使用图标项填充的 QlistWidget。默认情况下,图标从左到右显示,我希望它们从上到下显示,或者具有垂直布局,而不是水平布局。我怎样才能做到这一点?

由此:在此处输入图像描述

对此:

在此处输入图像描述

标签: pythonqlistwidgetpyside2

解决方案


您必须将flow属性设置为QListView::TopToBottom

from PySide2 import QtCore, QtGui, QtWidgets


if __name__ == "__main__":
    import sys

    app = QtWidgets.QApplication(sys.argv)
    w = QtWidgets.QListWidget()
    w.setViewMode(QtWidgets.QListView.IconMode)
    w.setIconSize(QtCore.QSize(128, 128))
    w.setResizeMode(QtWidgets.QListView.Adjust)
    w.setFlow(QtWidgets.QListView.TopToBottom)
    for path in ("icon1.png", "icon2.png"):
        it = QtWidgets.QListWidgetItem()
        it.setIcon(QtGui.QIcon(path))
        w.addItem(it)
    w.resize(640, 480)
    w.show()
    sys.exit(app.exec_())

在此处输入图像描述


推荐阅读