Python – PyQt – QTable Widget – добавление строк

Я новичок в PyQt и все равно немного запутался. У меня есть текстовая файловая структура:

  • Имя Фамилия Телефон Электронная почта

Где пробелы фактически являются вкладками «\ t» теперь, когда я читаю этот файл с помощью моего метода, я хочу заполнить QTable Widget.

У моего QTable Widget есть 4 столбца под названием « Name , « Surname , « Telephone , « Email теперь у него нет строк, но когда я читаю строки из файла и разбиваю каждую строку на табулятор, я хочу добавить новую строку, которая в каждом столбце содержит все, что было в строке ,

Мог бы кто-нибудь указать мне в направлении, как это сделать, потому что я не могу найти решение или метод, предлагаемый QTable Widget, который позволяет вам это делать.

Когда вы хотите заполнить QTableWidget , вам нужно установить подсчет строк и столбцов, прежде чем вставлять пример данных в документацию (документация PySide лучше, чем PyQt). И вы не можете просто вставить текстовую строку, разделенную вкладками, в таблицу, вам нужно подготовить ее самостоятельно, а затем заполнить таблицу QTableWidgetItem , вызвав QTableWidget.setItem . Это будет выглядеть так:

 entries = [] with open('data') as input: for line in input: entries.append(line.strip().split('\t')) tableWidget.setRowCount(len(entries)) tableWidget.setColumnCount(len(entries[0])) for i, row in enumerate(entries): for j, col in enumerate(row): item = QTableWidgetItem(col) tableWidget.setItem(i, j, item) 

Я предполагаю, что у вас есть файл data с вашими записями, а tableWidget – это экземпляр QTableWidget .

В этом примере файл анализируется вручную, но рассмотрим возможность использования стандартного модуля csv для этой задачи.