![]() |
![]() |
![]() |
piknad@yandex.ru Начинающимизучать PythonГород Уфа
|
![]() |
![]() |
![]() |
|
ПИТОН 3 ДЛЯ НАЧИНАЮЩИХ. РАБОТА С QTABLEWIDGET В PyQt5. РЕДАКТИРОВАНИЕ ПОЛЕЙ, ВСТАВКА, УДАЛЕНИЕ, РЕДАКТИРОВАНИЕ ЯЧЕЕК. ИСПОЛЬЗОВАНИЕ DESIGNER.Использование Designer для разработки кодаНеобходимые стандартные функции для таблицы tablewidget
Рис. 13. В первой строке мы задаем названия столбцов. Вместо наименования-пробелы, т.к. наименование будет указываться на кнопке для сортировки по наименованию (рис. 2, стр.1). Корректировка ячейки tablewidget
Рис. 14. Функция для корректировки ячейки таблицы tablewidget Последние 4 строки используются для занесения во временные переменные значения выбранной строки. Рис. 15. Заполнение новой строки (рис. 12, стр. 3) Вставка строк из формы в таблицу Бывает, что удобнее вставлять данные в форме. При этом будем заносить во временную таблицу с занесением в дальнейшем в основную таблицу. Для этого используем кнопку "Добавить строки в форме" по наименованию btn_dob. Кнопка вызывает функцию dob_str_form: Рис. 16. Функция добавления строк Для работы функции мы с помощью designer создадим новый класс TwoWindow(), аналогично , как и tabl (стр.1) . Назовем файл vvod_tabl. Аналогично создадим файл для конвертации conv_vvod_tabl.bat.
Рис. 16 Форма в Designer Опишем следующие виджеты."Наименование"-label_description, "Статья дохода/расхода"- label_doxod, "Сумма"- label_sum. Окно для ввода наименования- entry_description., для ввода "дохода/дохода"- Edit_dox. окно для суммы-Edit_sum. Для выбора "расхода/дохода" используется виджет Combobox- comboBox. Кнопка "Добавить"- btn_dob_vv, "Очистить ввод"- btn_ochist. Таблицу tablewidget назовем tablevv.
Рис. 17. Класс для добавления данных в форме Здесь мы в заголовок вставили аналогично vvod_tabl.Ui_MainWindow. Создадим код для ввода данных.
Рис.18. Так как после занесения во временную таблицу данных и закрытия формы данные в таблице tablewidget пропадают. Поэтому приходится использовать 2-х мерную матрицу. TwoWindow.mat=[]- объявление массива. Так как мы ее создали в классе TwoWindow, и будем использовать в другом классе, то она должна иметь имя созданного класса. В третьей строчке (рис. 18) вызывается функция onActivated(self, text), которая заносит из Combobox выбранное значение в окно Edit_dox для получения типа операции (доход/расход). Текст функции приведен на рис. 19:
Рис. 19. Функция для занесения выбранного значения из combobox в окно ввода. Продолжение на следующей странице1 2 3 4 5 6
|
|
---|