#python #python_3x #pyqt5
Как реализовать функцию вывода текста который хранится в определенной ячейке в QTreeWidget при нажатии на эту ячейку. Т.е. пользователь нажимает ЛКМ на любую ячейку и текст из этой ячейки выводится на экран (или в моем случае пока что в консоль). Пока что понял как вывести текст при нажатии на строку в поле и вывод определенного столбца import sys from PyQt5.QtWidgets import QTreeWidget, QTreeWidgetItem, QApplication, QWidget def asd(a): print(a.text(1)) if __name__ == '__main__': app = 0 if QApplication.instance(): app = QApplication.instance() else: app = QApplication(sys.argv) l1 = QTreeWidgetItem(["String A", "String B", "String C"]) l2 = QTreeWidgetItem(["String AA", "String BB", "String CC"]) for i in range(3): l1_child = QTreeWidgetItem(["Child A" + str(i), "Child B" + str(i), "Child C" + str(i)]) l1.addChild(l1_child) for j in range(2): l2_child = QTreeWidgetItem(["Child AA" + str(j), "Child BB" + str(j), "Child CC" + str(j)]) l2.addChild(l2_child) w = QWidget() w.resize(510, 210) tw = QTreeWidget(w) tw.resize(500, 200) tw.setColumnCount(3) tw.setHeaderLabels(["Column 1", "Column 2", "Column 3"]) tw.addTopLevelItem(l1) tw.addTopLevelItem(l2) tw.itemClicked.connect(asd) w.show() sys.exit(app.exec_())
Ответы
Ответ 1
def asd(a, c): print(a.text(c)) UPDATE: def asd(a, c): v = [] for i in range(a.columnCount()): v.append(a.text(i)) print(*v)
Комментариев нет:
Отправить комментарий