кинотеатр Победа Лучшая поза в постели мечеть

piknad@yandex.ru

Начинающим

изучать Python

Город Уфа

мост ч/з Белую

Яндекс.Погода

Салават Юлаев Монумент Дружбы
СОДЕРЖАНИЕ

На главную страницу сайта

Установка PYTHON 3.8

Установка PyQT5 с DESIGNER в PYTON 3.8

Установка Dgango 3.0 в Windows 7. Решение проблем

Создание таблицы tablewidget; редактирование,сортировка данных в таблице в Phyton 3.81 Tkinter

Создание таблицы; редактирование,сортировка данных,вставка и удаление строк в таблице в Phyton 3.81 PyQt5. Использование Designer.

Модели в Питон 3, Python 3, PyQt5

Примеры перевода программ с Delphi в Python

Создание сайта (блога) в Pycharm

Получение кэшбэка

Программирование на Питоне 3, Python 3. Базы данных. Модели, связанные с данными

1 2 3 4 5 6

Модель, связанная с таблицей. Использование Designer, Pyqt5

Кто работал в среде программирования типа Дельфи, тем более привычно на форме помещать и перемещать различные компоненты (виджеты). Эту возможность дает средство Designer. Оно позволяет не описывать компоненты в программном коде и не нужно подбирать размеры, координаты местонахождения компонентов типа кнопок, меток, контейнеров. На этой странице я описываю использование Designer для получения таблицы редактирования данных в таблице из базы данных. И преимущество Tableview из Designer. Желательно посмотреть предыдущую страницу. Поместим виджет Table View на форму и две кнопки для добавления и удаления записи из таблицы. Присвоим в object Inspector имя таблице tview, кнопки btnAdd и btnDel:

Использование Designer , таблица tableview

Рис. 1. Помещение Table View на форму

Сохраним файл под именем tableview.ui. С помощью файла conv_tabl.bat переведем в файл Питона с расширением py. Подробнее о работе в Designer см. раздел Создание таблицы; редактирование,сортировка данных,вставка и удаление строк в таблице в Phyton 3.81 PyQt5. Использование Designer.

Редактиование в tableview с использованием Designer Python 3Использование Designer для редактиования таблицы базы данных

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

import sys
import tableview
from PyQt5 import QtCore, QtGui, QtWidgets,QtSql
from PyQt5.QtWidgets import QWidget, QToolTip
from PyQt5.QtGui import QFont
#611 стр Н.Прохоренок В.Дронов очень хороший учебник

class GL_Window(QtWidgets.QMainWindow,tableview.Ui_MainWindow):
def __init__(self):
super().__init__()
#методом super() мы явно вызываем родительский конструктор.
self.setupUi(self)# Это нужно для инициализации нашего дизайна

con=QtSql.QSqlDatabase.addDatabase('QSQLITE') #тип базы данных и создание соединения
con.setDatabaseName('data.sqlite') #вызов таблицы из базы
con.open() #открытие соединения
# Создаем модель:
self.model=QtSql.QSqlTableModel(parent=None)
self.tview.setModel(self.model)#Заносим модель в Qtableview из Desinger
self.model.setTable('finance')#Задает имя таблицы базы данных
self.model.select()# Считывает данные из таблицы базы данных в модель

self.model.setHeaderData(0,QtCore.Qt.Horizontal,'ID')
self.model.setHeaderData(1,QtCore.Qt.Horizontal,'Наименование')
self.model.setHeaderData(2,QtCore.Qt.Horizontal,'Операция')
self.model.setHeaderData(3,QtCore.Qt.Horizontal,'Сумма')

#Создаем для модели представление:
self.tv=QtWidgets.QTableView()#Создаем представление для вывода таблицы
self.tv.setModel(self.model)#Заносим таблицу в представление
QToolTip.setFont(QFont('SansSerif', 20))#для комментария к кнопкам
self.btnAdd.clicked.connect(self.addRecord)
self.btnAdd.setToolTip('ДОБАВИТЬ ЗАПИСЬ')
self.btnDel.clicked.connect(self.delRecord)
self.btnDel.setToolTip('УДАЛИТЬ ЗАПИСЬ')
self.statusBar().showMessage('Строка состояния, количество записей-'+str(self.model.rowCount()))
#https://docviewer.yandex.ru/view/16201825

def addRecord(self): #функция дляставки записи
self.model.insertRow(self.model.rowCount())

def delRecord(self):
# удаляем из tview-имя таблицы в designer
self.model.removeRow(self.tview.currentIndex().row())
self.model.select()

if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)# Новый экземпляр QApplication
win = GL_Window()
win.resize(750,550)
win.setWindowtitle('Работа с таблицей с Designer Qtableview')
win.show()
sys.exit(app.exec_())

Рис.2. Текст программы использования Designer для редактипрования таблицы базы данных с использованием Table View

Следует обратить внимание на заголовок класса Gl_Window. В него добавлен вызов файла tablleview.ui - tableview.Ui_MainWindow. В строке 19 операцией self.tview.setModel(self.model) заносим модель в tview класса Qtableview из Desinger.

Также, как в предыдущем примере без использования Designer, можно добавлять и удалять записи. Здесь можно уменьшить и увеличить число:

использование designerдля корректировки таблицы в базе данных

Рис.3. Прибавление и увеличение числа.

Так же есть возмоность сортировать по наименованию и по сумме, достаточно нажать на соответствующий заголовок. Так же нет необходимости описывать размеры столбца, они заложены в Designer и описывать их бесполезно в программном коде. Так же нет необходимости описывать кнопки. Их размеры и шрифты определяются в Designer. Таким образом, преимущество использования Designer в сокращении программного кода.

Сортировка данных в таблице с помощью Designer

Рис. 4 сортировка данных в таблице по наименованию.

Сортировка данных в таблице с помощью Designer

Рис. 5. Сортировка данных по сумме.

Таким образом, нет необходимости программировать сортировку данных при использовании Designer.

1 2 3 4 5 6

Загрузка...