在pyqt5 Qprinter中转换为日期格式

问题描述

是否有一种转换为日期格式的方法将使用Printer和QTextDocument,结果总是像图像一样显示在日期和时间中?

这是我的代码

class AddTodo extends Component {
  render() {
    return (
      <form>
        <div className="form-control">
          <label htmlFor="word">word:</label>
          <input type="text" id="word" />
          <br />
          <label htmlFor="todo-meaning">meaning:</label>
          <input type="text" id="todo-meaning" />
        </div>
        <button type="submit">save</button>
      </form>
    );
  }
}

export default AddTodo;

但是日期和时间的结果是这样的

enter image description here

解决方法

您可以使用自定义函数来格式化表格中不同类型的数据,例如

@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()))
    ....

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...