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

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

  • Имя Фамилия Телефон Email

где пробелы на самом деле вкладки "t " теперь, когда я читаю этот файл с моим методом, я хочу заполнить виджет QTable.

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

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

1 ответов


когда вы хотите заполнить 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 is QTableWidget пример.

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