У меня есть некоторые проблемы с правильной загрузкой баз данных в виде таблицы в моем pyqt-интерфейсе.Проблема заключается в том, что в этих конкретных базах данных есть столбец, содержащий данные BLOB, и они не отображаются правильно в табличном представлении.При открытии той же базы данных с помощью sqlitebrowser для окон элементы столбца BLOB-объектов отображаются в виде текстового поля с несколькими значениями (двойной щелчок открывает все), а в моем табличном представлении отображается только первая буква первого элемента.
Есть ли способ реплицировать программное обеспечение sqlitebrowser, правильно отображать большой двоичный объект и отображать элементы в виде раскрывающегося списка с полными значениями?![sqlitebrowser](https://i.imgur.com/Fn1Qe3D.png)
это код, который я использую для загрузки базы данных:
def loadevents(self, str):
db = QtSql.QSqlDatabase.addDatabase('QSQLITE')
db.setDatabaseName(str)
db.open()
print('database is '+str)
projectModel = QtSql.QSqlQueryModel()
projectModel.setQuery("SELECT * FROM tblEvents")
self.tableWidget.setModel(projectModel)
self.tableWidget.show()
Как описано, я бы хотел, чтобы последний столбец типа BLOB (подробности) был загружен правильно(весь текст) и, если возможно, отобразить все элементы подпунктов каждого элемента в столбце сведений в виде раскрывающегося списка.Например: в sqlitebrowser двойной щелчок «Обновление успешно завершено ...» выдает несколько значений.
Заранее спасибо.
LE: измененный код:
self.tableWidget = QtWidgets.QTableView(self.tab_3)
self.tableWidget.setGeometry(QtCore.QRect(50, 13, 1000, 800))
self.tableWidget.setMinimumSize(QtCore.QSize(1000, 800))
self.tableWidget.setMaximumSize(QtCore.QSize(1000, 800))
self.tableWidget.setObjectName("tableWidget")
является частьюфункция класса с именем Ui_MainWindow (object) - в основном класс, который мы создаем для окна
в том же классе, у меня есть другая функция, которая заполняет представление таблицы:
def loadevents(self, str):
db = QtSql.QSqlDatabase.addDatabase('QSQLITE')
db.setDatabaseName(str)
db.open()
self.tableWidget.horizontalHeader().setStretchLastSection(True)
delegate = BlobDelegate(self.tableWidget)
self.tableWidget.setItemDelegateForColumn(4, delegate)
model = QtSql.QSqlQueryModel()
model.setQuery("SELECT * FROM tblTransEvents")
self.tableWidget.setModel(model)
self.tableWidget.show()
, и это выглядиткак это: ![newtableview](https://i.imgur.com/k84FuSq.png)