def _add_payment(self, payment=None): """ Add a line with a new extra payment. :param payment (tuple(str, float)): Extra payment for a month. """ self._table_widget.insertRow(self._table_widget.rowCount()) current_row = self._table_widget.rowCount() - 1 if payment: month = QDate.fromString(payment[0], conf.DATE_FORMAT) amount = payment[1] else: month = QDate.currentDate() amount = 0.0 month_edit = QDateEdit(month) month_edit.setDisplayFormat(conf.DATE_FORMAT) month_edit.currentSection = QDateTimeEdit.MonthSection self._table_widget.setCellWidget(current_row, 0, month_edit) self._table_widget.setItem(current_row, 1, QTableWidgetItem(str(amount)))