ПИТОН 3 ДЛЯ НАЧИНАЮЩИХ. РАБОТА С QTABLEWIDGET В PyQt5. РЕДАКТИРОВАНИЕ ПОЛЕЙ, ВСТАВКА, УДАЛЕНИЕ, РЕДАКТИРОВАНИЕ ЯЧЕЕК. ИСПОЛЬЗОВАНИЕ DESIGNER.

Использование Designer для разработки кода

1 2 3 4 5 6

Ввод данных в таблицу tablewidget через форму

Ввод данных в tablewidget

Рис. 20

После нажатия на кнопку "Ввод строк в форме" (рис.15 стр. 4).высветится форма для ввода данных (рис.20). После заполнения окон с использоанием combobox и нажатии на кнопку "Добавить", данные появятся во временной таблице tablevv . Можно ввести несколько строк. Одновременно они заносятся и в матрицу TwoWindow.mat. Также можно корректировать ячейки. Можно добавить кнопки для удаления и вставки строк в таблице. Закрываем форму с помощью стандартного крестика.

Ниже привожу текст функции, которая вводит значения полей таблицы tablevv в строку-список из 4-х полей матрицы TwoWindow.mat (рис. 21 ):

Рис. 21 Функция занесения значений полей временной таблицы tabvv в матрицу TwoWindow.mat

Обратимся опять к нашей основной форме. Нажмем на кнопку "Вставить строки из формы" . Тогда наши данные из матрицы занесутся в таблицу table (рис. 22):

Ввод данных в таблицу tablewidget

Рис.21. Ввод данных из временной таблицы в основную.

Ниже привожу текст функции ввода данных из матрицы в основную таблицу:

ввод данных из матрицы в tablewidget

текст для копирования без пробелов:


def vst_tabl_iz_form(self):# вставка данных из временной таблицы ввода в основную таблицу
rowPosition = self.table.rowCount()
idz=0
r=rowPosition #Кол-во строк в таблице
for i in range(kolstr): #цикл по кол-ву строк во временной таблице (kolstr)
self.table.insertRow(r) #Вставка строки
self.table.setItem(r,0, QTableWidgetItem(str(idz)))# вставка индекса основной таблицы
for j in range(1,4):
#Далее занесение значений строки матрицы TwoWindow.mat в поля таблицы table:
self.table.setItem(r,j, QTableWidgetItem(TwoWindow.mat[i][j]))
r=r+1;idz=idz+1#Увеличение номера строки основной таблицы и ее индекса

Рис. 22. Функция занесения данных из матрицы в tablewidget

Продолжение на следующей странице

1 2 3 4 5 6