Добавление виджета в QtreeWidget

Как добавить в QtreeWidget, QProgressBar (с помощью какой функции)


Ответы (1 шт):

Автор решения: S. Nick

void QTreeWidget::setItemWidget(QTreeWidgetItem *item, int column, QWidget *widget)

Устанавливает указанный виджет для отображения в ячейке, указанной данным item и column.

import sys
from PyQt5 import QtWidgets, QtCore


class MainWindow(QtWidgets.QMainWindow):
    def __init__(self):
        super().__init__()

        tree = QtWidgets.QTreeWidget()
        tree.setHeaderItem(QtWidgets.QTreeWidgetItem(['col1', 'col2']))
        self.setCentralWidget(tree)

        # Create items
        progressBar = QtWidgets.QProgressBar()
        progressBar.setRange(0, 100)
        progressBar.setValue(24)
        topLevelItem   = QtWidgets.QTreeWidgetItem(['', 'Hello World'])
        topLevelItem.setFlags(topLevelItem.flags() | QtCore.Qt.ItemIsEditable)

        # Add items to tree widget
        tree.addTopLevelItem(topLevelItem)

        tree.setItemWidget(topLevelItem, 0, progressBar)
        
        
if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec_())

введите сюда описание изображения

→ Ссылка