头图
# -*- coding:UTF-8 -*-

# region 引入必要依赖
import datetime

from DebugInfo.DebugInfo import *

# endregion

# 准备些示例数据
物品名称 = ['苹果', '思念水饺', '可口可乐(1.25L)', '银桥酸奶(袋装)', '大地猫锅巴']
物品计量 = ['2.5kg', '1袋', '3瓶', '1袋', '2袋']
物品单价 = [1.0, 5.8, 3.6, 10.0, 1]
物品总价 = [2.5, 5.8, 10.8, 10.0, 2]

# 创建个小票对象
小票 = 调试模板()
小票.打印头 = '  '

# 设置对齐控制, 第3列右对齐, 其它左对齐
小票.准备表格(对齐控制串='llrl')

# 设置列间距, 使单价与总价两列之间的间距为零
小票.表格列间距 = [2, 2, 0]

# 添加一个分隔行, 小票内容开始
小票.添加分隔行(填充字符='=', 修饰方法=黄字)
# 添加标题行
小票.添加一行('菜单', '数量', '单价', '/总价').修饰行(青字)
# 添加标题行与内容行之间的分隔线, 也是个分隔行
小票.添加分隔行(填充字符='- ', 重复=True, 修饰方法=黄字)
# 添加购物清单
for 名称, 数量, 单价, 总价 in zip(物品名称, 物品计量, 物品单价, 物品总价):
    小票.添加一行(名称, 数量, f'{单价}元', f'/{总价}元')

# 添加内容行与总计行之间的分隔线, 也是个分隔行
小票.添加分隔行(填充字符='- ', 重复=True, 修饰方法=黄字)
# 添加总计内容
小票.添加一行('总计', '', '', f'{sum(物品总价)}元')
# 添加一个分隔行,小票内容结束
小票.添加分隔行(填充字符='=', 修饰方法=黄字)

小票.打印空行(2)
# 打印一个欢迎横幅,使其居中对齐于小票清单中间
小票.分隔线.总长度(小票.表格宽度()).符号(' ').提示内容('欢迎光临xx广场').展示()

# 展示小票清单
小票.展示表格()

# 打印一行提示内容
小票.分隔线.总长度(长度=小票.表格宽度()).符号('* ').提示内容('请保留小票,必要时作为沟通凭据').文本对齐('r').展示()

# 打印小票日期
小票.分隔线.总长度(长度=小票.表格宽度()).符号('* ').提示内容(datetime.datetime.now().__str__()).文本对齐('r').展示()

# 小票打印结束
小票.打印空行(2)

以上代码通过使用DebugInfo打印一个购物小票,效果如下:
漂亮的购物小票


三块钱
7 声望0 粉丝