首页 > 解决方案 > Python:如何将 QTableWidget 的列设置为以日期格式显示

问题描述

def fill_buchungen(self):
    self.tableWidget.setRowCount(0)
    data = helper.select("Select buchungsid,datum,einnahme, ausgabe,buchungstext,belegnr,mwst from buchung") 
    for row , form in enumerate(data):
        row_position = self.tableWidget.rowCount()
        self.tableWidget.insertRow(row_position)  
        self.tableWidget.setCellWidget(row,1, QDateEdit().setDisplayFormat("dd-MM-yyyy"))            
        for column , item in enumerate(form):
            self.tableWidget.setItem(row , column , QTableWidgetItem(str(item)))

这就是我到目前为止所拥有的。第二列显示日期加时间。但我只想将它作为 Date 'dd.mm.yyyy'

在此处输入图像描述

标签: pythonpyqt5qtablewidget

解决方案


假设item是一个datetime对象,您可以使用该strftime方法指定日期时间字符串格式,例如:

for column , item in enumerate(form):
    date_str = d.strftime("%d.%m.%y")
    self.tableWidget.setItem(row , column , QTableWidgetItem(date_str))

推荐阅读