После нажатия на кнопку "Ввод строк в форме" (рис.15 стр. 4).высветится форма для ввода данных (рис.20). После заполнения окон с использоанием combobox и нажатии на кнопку "Добавить", данные появятся во временной таблице tablevv . Можно ввести несколько строк. Одновременно они заносятся и в матрицу TwoWindow.mat. Также можно корректировать ячейки. Можно добавить кнопки для удаления и вставки строк в таблице. Закрываем форму с помощью стандартного крестика.
Ниже привожу текст функции, которая вводит значения полей таблицы tablevv в строку-список из 4-х полей матрицы TwoWindow.mat (рис. 21 ):
Рис. 21 Функция занесения значений полей временной таблицы tabvv в матрицу TwoWindow.mat
Обратимся опять к нашей основной форме. Нажмем на кнопку "Вставить строки из формы" . Тогда наши данные из матрицы занесутся в таблицу table (рис. 22):
Рис.21. Ввод данных из временной таблицы в основную.
Ниже привожу текст функции ввода данных из матрицы в основную таблицу:
текст для копирования без пробелов:
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