Python 在pyqt5 Qprinter中转换为日期格式
是否有一种转换为日期格式的方法将使用打印机和QTextDocument,结果始终显示在日期和时间中,就像在图像中一样 这是我的密码Python 在pyqt5 Qprinter中转换为日期格式,python,pyqt5,qprinter,qdatetime,Python,Pyqt5,Qprinter,Qdatetime,是否有一种转换为日期格式的方法将使用打印机和QTextDocument,结果始终显示在日期和时间中,就像在图像中一样 这是我的密码 def handlePaintRequest(self, printer): model_hjd = QSqlTableModel() model_hjd.setTable('transactions') date = str(self.dateEdit_10.text()) date
def handlePaintRequest(self, printer):
model_hjd = QSqlTableModel()
model_hjd.setTable('transactions')
date = str(self.dateEdit_10.text())
date_2 = str(self.dateEdit_14.text())
self.tableView_22.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
model_hjd.setSort(6, Qt.DescendingOrder)
self.tableView_22.setModel(model_hjd)
model_hjd.select()
filter_ft = "date_d BETWEEN '%s' AND '%s'" % (date, date_2)
model_hjd.setFilter(filter_ft)
self.tableView_22.setModel(model_hjd)
document = QTextDocument()
cursor = QTextCursor(document)
tableFormat = QTextTableFormat()
table = cursor.insertTable(model_hjd.rowCount() + 1, model_hjd.columnCount(), tableFormat)
myheaders = []
for i in range(0, model_hjd.columnCount()):
myheader = model_hjd.headerData(i, Qt.Horizontal)
cursor.insertText(myheader)
cursor.movePosition(QTextCursor.NextCell)
for row in range(0, model_hjd.rowCount()):
for col in range(0, model_hjd.columnCount()):
index = model_hjd.index( row, col )
cursor.insertText(str(index.data()))
cursor.movePosition(QTextCursor.NextCell)
document.print_(printer)
但是日期和时间的结果是这样的
您可以使用自定义函数格式化表中不同类型的数据,例如:
@staticmethod
def to_string(entry):
if isinstance(entry, (QtCore.QDate, QtCore.QTime, QtCore.QDateTime)):
return entry.toString(Qt.SystemLocaleShortDate)
else:
return str(entry)
def handlePaintRequest(self, printer):
....
cursor.insertText(self.to_string(index.data()))
....
您是否通过导入和转换PyQt5来尝试它?数据库中的时间和日期很好,并且是日期和时间格式,但是当我尝试打印像图像一样的结果时(PyQt5.qtcore.qdate(2020,8,8)),我只想打印日期和时间尝试一下谢谢Bijinaraham,但是@Heike solved itchange
(isinstance(entry,tt)对于tt in(QtCore.QDate,QtCore.QTime,QtCore.QDateTime)):
到如果isinstance(条目,(QtCore.QDate,QtCore.QTime,QtCore.QDateTime)):
谢谢@eyllansec。我不知道isinstance可以处理类型集合。