PyQt 中的标记系统

Tagging System in PyQt

您好,我正在尝试在 PyQt4 中创建一个 GUI,用户可以在其中标记从 video/images 中提取的面孔。我有一个文件夹,其中存储了所有面孔(图像)。

     pic4.setPixmap(QtGui.QPixmap(os.getcwd() + "/faces/Testimg3.png"))
pic5 = QtGui.QLabel(window)
pic5.setGeometry(500,200,70,70)
pic5.setPixmap(QtGui.QPixmap(os.getcwd() + "/faces/Testimg4.png"))
pic6 = QtGui.QLabel(window)
pic6.setGeometry(500,340,70,70)
pic6.setPixmap(QtGui.QPixmap(os.getcwd() + "/faces/Testimg5.png"))
te1 = QtGui.QTextEdit(window)
te1.setGeometry(160,70,140,30)
te2 = QtGui.QTextEdit(window)
te2.setGeometry(160,210,140,30)
te3 = QtGui.QTextEdit(window)
te3.setGeometry(160,350,140,30)

目前我有这样的东西。像素图,然后进行文本编辑以获取标签。我已经硬编码显示我的文件夹中的 6 个图像以及文本编辑。任何人都可以指导我如何使它动态化,即显示应该显示文件夹中的所有图像以及文本编辑。 注意:文件夹中的图像数量可能会发生变化。

一个非常简单的方法是使用 QTableWidget 或 QTreeWidget。

获取文件夹中图像的列表,然后为每个图像添加一个项目到 Table 或树。

tree = QTreeWidget()
tree.setHeaderLabels(['Path', 'Image'])

paths = ['/path/one', '/path/two']
for path in paths:
    pixmap = QPixmap(path)
    label = QLabel()
    label.setPixmap(pixmap)
    item = QTreeWidgetItem()
    item.setText(0, path)
    tree.addTopLevelItem(item)
    tree.setItemWidget(item, 1, label)