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 модуль для этой задачи.